1.
<s:div id="loginDiv" theme="ajax">
<div style="width: 300px;border-style: solid">
<s:form action="freemarker.do" >
<tr>
<td colspan="2">
Login
</td>
</tr>
<tr>
<td colspan="2">
<s:actionerror />
<s:fielderror />
</td>
</tr>
<s:textfield name="username" label="Login name"/>
<s:password name="password" label="Password"/>
<s:submit theme="ajax" targets="loginDiv" notifyTopics="/freemarker.do"/>
</s:form>
</div>
</s:div>
2.
<img id="indicator1" src="${pageContext.request.contextPath}/images/indicator.gif"
alt="Loading Info" style="display:none"/>
<s:url id="ajaxTest1" value="/freemarker.do" />
<s:div theme="ajax" id="users1" href="%{ajaxTest1}"
loadingText="Loading information..."
errorText="Unable to contact server" indicator=
"indicator1">
delay="2000"
updateFreq="60000"
Placeholder...
</s:div>
https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&styleName=Html&version=21743
http://struts.apache.org/2.x/docs/ajax-tags.html
http://www.theserverside.com/tt/articles/article.tss?l=AjaxCRUDStruts2
http://dojotoolkit.org/book/dojo-book-0-4/part-5-connecting-pieces/event-system/topics
http://struts.apache.org/2.x/docs/ajax-and-javascript-recipes.html