AjaxTags标记初探
来源:网络 更新时间:2014-12-3
AjaxTags项目是在现有的StrutsHTML标记库的基础上,添加对AJAX支持。AjaxTags改写了Struts标签类org.apache.struts.taglib.html.FormTag和org.apache.struts.taglib.html.BaseHandlerTag,并使用Struts的plugin技术,使得Struts提供了对AJAX的支持。以下是JSP中简单的示例:
<html:formaction="example1"ajaxRef="example1">
FirstName:<html:textproperty="firstName"size="25"value="Frank"/>
<br>
LastName:<html:textproperty="lastName"size="25"value="Zammetti"/>
<br>
<html:buttonproperty="button"value="ClicktodoAjax!"ajaxRef="button"/>
</html:form>
Result:<br>
<spanid="example1_resultLayer"></span>
注意:ajaxRef属性。ajaxRef属性中内容是在ajax-config.XML中定义的,例如本示例的配置部分如下:
<!DOCTYPEajaxConfigPUBLIC"ajaxConfig""ajaxConfig">
<ajaxConfig>
<!--DefineacustomrequesthandlerthatgeneratesXMLforexample2-->
<handlername="CustomXMLGenerator"type="request">
<function>customGenerateXML</function>
<location>customXMLGenerator.js</location>
</handler>
<!--Configurationforexample1-->
<formajaxRef="example1">
<elementajaxRef="button">
<eventtype="onclick">
<requestHandlertype="std:QueryString">
<target>example1.do</target>
<parameter>firstName=firstName,lastName=lastName</parameter>
</requestHandler>
<responseHandlertype="std:InnerHTML">
<parameter>example1_resultLayer</parameter>
</responseHandler>
</event>
</element>
</form>
</ajaxConfig>
在配置文件中定义了该表单的属性,以及按钮触发的事件和回写结果的处理方法。采用很巧妙的封装方法实现了Struts的AJAX调用。当然Ajaxtags离实用阶段还有相对长的一段距离,但它提供了一种在现有的软件架构上高效率开发ajax应用程序的可行性方案。