您现在的位置是:首页-> 米鼠技术 ->源代码解析――初探AjaxTags

源代码解析――初探AjaxTags


  AjaxTags项目是在现有的Struts HTML标记库的基础上,添加对AJAX支持。 AjaxTags改写了Struts标签类org.apache.struts.taglib.html.FormTag和org.apache.struts.taglib.html.BaseHandlerTag,并使用Struts的plugin技术,使得Struts提供了对AJAX的支持。 以下是jsp中简单的示例:
  
  <font size="3">&lt;</font>html:form action="example1" ajaxRef="example1">
  First Name: <font size="3">&lt;</font>html:text property="firstName" size="25" value="Frank" />
  <font size="3">&lt;</font>br>
  Last Name: <font size="3">&lt;</font>html:text property="lastName" size="25" value="Zammetti" />
  <font size="3">&lt;</font>br>
  <font size="3">&lt;</font>html:button property="button" value="Click to do Ajax!" ajaxRef="button" />
  <font size="3">&lt;</font>/html:form>
  Result:<font size="3">&lt;</font>br>
  <font size="3">&lt;</font>span id="example1_resultLayer"> <font size="3">&lt;</font>/span>
  
  注意ajaxRef属性。 ajaxRef属性中内容是在ajax-config.xml中定义的,如本示例的配置部分如下:
  
  <font size="3">&lt;</font>!DOCTYPE ajaxConfig PUBLIC "ajaxConfig" "ajaxConfig">
  <font size="3">&lt;</font>ajaxConfig>
  <font size="3">&lt;</font>!-- Define a custom request handler that generates XML for example 2 -->
  <font size="3">&lt;</font>handler name="CustomXMLGenerator" type="request">
  
  <font size="3">&lt;</font>function>customGenerateXML<font size="3">&lt;</font>/function>
  <font size="3">&lt;</font>location>customXMLGenerator.js<font size="3">&lt;</font>/location>
  <font size="3">&lt;</font>/handler>
  <font size="3">&lt;</font>!-- Configuration for example 1 -->
  <font size="3">&lt;</font>form ajaxRef="example1">
  <font size="3">&lt;</font>element ajaxRef="button">
  <font size="3">&lt;</font>event type="onclick">
  <font size="3">&lt;</font>requestHandler type="std:QueryString">
  <font size="3">&lt;</font>target>example1.do<font size="3">&lt;</font>/target>
  <font size="3">&lt;</font>parameter>firstName=firstName,lastName=lastName<font size="3">&lt;</font>/parameter>
  <font size="3">&lt;</font>/requestHandler>
  <font size="3">&lt;</font>responseHandler type="std:InnerHTML">
  <font size="3">&lt;</font>parameter>example1_resultLayer<font size="3">&lt;</font>/parameter>
  <font size="3">&lt;</font>/responseHandler>
  <font size="3">&lt;</font>/event>
  <font size="3">&lt;</font>/element>
  <font size="3">&lt;</font>/form><font size="3">&lt;</font>/ajaxConfig>
  
  在配置文件中定义了该表单的属性,以及按钮触发的事件和回写结果的处理方法。采用很巧妙的封装方法实现了Struts的AJAX调用。当然Ajaxtags离实用阶段还有相对长的一段距离,但它提供了一种在现有的软件架构上高效率开发ajax应用程序的可行性方案。


热点文章
最新项目
相关文章 最新文章