THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
This documentation refers to version 2.1 which has not been released yet.
Common
All examples on this page assume the following JSP fragment is on the same page as the example.
<%@ taglib prefix="s" uri="/struts-tags" %> <%@ taglib prefix="sx" uri="/struts-dojo-tags" %> <head> <sx:head /> </head> <s:url id="url" value="/MyAction.action" />
Requests
Request is triggered by a topic
<s:submit value="Make Request" onclick="dojo.event.topic.publish('/request')" /> <sx:bind listenTopics="/request" href="%{#url}" />
Attached to an event
<s:submit value="Make Request" id="submit" /> <sx:bind sources="submit" events="onclick" href="%{#url}" />
Attached to an event on multiple sources
<s:submit value="Make Request" id="submit0" /> <s:submit value="Make Request" id="submit1" /> <sx:bind sources="submit0,submit1" events="onclick" href="%{#url}" />
Attached to multiple events on multiple sources
<s:textarea id="area0" /> <s:textarea id="area1" /> <sx:bind sources="area0,area1" events="onfocus,onchange" href="%{#url}" />
Update target element with content returned from url
<s:div id="div" /> <!-- With a bind tag --> <s:submit value="Make Request" id="submit" /> <sx:bind targets="div" sources="submit" events="onclick" href="%{#url}" /> <!-- With a submit tag --> <sx:submit targets="div" value="Make Request" href="%{#url}" /> <!-- With an anchor tag --> <sx:a targets="div" value="Make Request" href="%{#url}" />
Update multiple target elements with content returned from url
<s:div id="div0" /> <s:div id="div1" /> <!-- With a bind tag --> <s:submit value="Make Request" id="submit" /> <sx:bind targets="div0,div1" sources="submit" events="onclick" href="%{#url}" /> <!-- With a submit tag --> <sx:submit targets="div0,div1" href="%{#url}" /> <!-- With an anchor tag --> <sx:a targets="div0,div1" href="%{#url}" />
Show indicator while request is in progress
<img id="indicator" src="${pageContext.request.contextPath}/images/indicator.gif" style="display:none" /> <!-- With a bind tag --> <s:submit value="Make Request" id="submit" /> <sx:bind indicator="indicator" sources="submit" events="onclick" href="%{#url}" /> <!-- With a submit tag --> <sx:submit indicator="indicator" href="%{#url}" /> <!-- With an anchor tag --> <sx:a indicator="indicator" href="%{#url}" />
Highlight content of target with blue color, for 2 seconds
<s:div id="div" /> <s:submit value="Make Request" id="submit" /> <sx:bind highlightColor="blue" highlightDuration="2000" targets="div" sources="submit" events="onclick" href="%{#url}" />
Publish a topic before the request
<script type="text/javascript"> dojo.event.topic.subscribe("/before", function(event, widget){ alert('inside a topic event. before request'); //event: event object //widget: widget that published the topic }); </script> <s:submit value="Make Request" id="submit" /> <sx:bind beforeNotifyTopics="/before" sources="submit" events="onclick" href="%{#url}" />
Publish a topic before the request
<script type="text/javascript"> dojo.event.topic.subscribe("/after", function(data, request, widget){ alert('inside a topic event. after request'); //data : text returned from request //request: XMLHttpRequest object //widget: widget that published the topic }); </script> <s:submit value="Make Request" id="submit" /> <sx:bind afterNotifyTopics="/after" sources="submit" events="onclick" href="%{#url}" />
Prevent a request
<script type="text/javascript"> dojo.event.topic.subscribe("/before", function(event, widget){ alert('I will stop this request'); event.cancel = true; }); </script> <s:submit value="Make Request" id="submit" /> <sx:bind beforeNotifyTopics="/before" sources="submit" events="onclick" href="%{#url}" />
Submit a form
<form id="form"> <input type=textbox name="data"> </form> <s:submit value="Make Request" id="submit" /> <sx:bind formId="form" sources="submit" events="onclick" href="%{#url}" />