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" /> <s:submit value="Make Request" id="submit" /> <sx:bind targets="div" sources="submit" events="onclick" href="%{#url}" />
Update multiple target elements with content returned from url
<s:div id="div0" /> <s:div id="div1" /> <s:submit value="Make Request" id="submit" /> <sx:bind targets="div0,div1" sources="submit" events="onclick" href="%{#url}" />
Show indicator while request is in progress
<img id="indicator" src="${pageContext.request.contextPath}/images/indicator.gif" style="display:none" /> <s:submit value="Make Request" id="submit" /> <sx:bind sources="submit" events="onclick" 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" onclick="dojo.event.topic.publish('/request')" /> <sx:bind beforeNotifyTopics="/before" listenTopics="/request" 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" onclick="dojo.event.topic.publish('/request')" /> <sx:bind afterNotifyTopics="/after" listenTopics="/request" 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" onclick="dojo.event.topic.publish('/request')" /> <sx:bind beforeNotifyTopics="/before" listenTopics="/request" href="%{#url}" />