看看如何在Struts应用中施展AJAX魔法[4]

发表于:2008-01-29来源:作者:点击数: 标签:AJAX魔法
新的控制流 添加以下的JavaScript代码到我们的应用中,以下的步骤将在 服务器 和浏览器中执行。 1. 如同一个普通Struts应用装载页面。 2. 用户改变文本框的值,触发一个onChange() 事件,调用retrieveURL() 方法。 3. 该JavaScript方法通过发送Struts明白的表
新的控制流

  添加以下的JavaScript代码到我们的应用中,以下的步骤将在服务器和浏览器中执行。

  1. 如同一个普通Struts应用装载页面。

  2. 用户改变文本框的值,触发一个onChange() 事件,调用retrieveURL() 方法。

  3. 该JavaScript方法通过发送Struts明白的表单变量(后台)请求到服务器的Struts Action。

  4. 该JavaScript方法同样设定了第二个JavaScript方法的名字,此方法将到服务器响应完毕后调用。本例子中,设定为processStateChange() 方法。

  5. 如我们所预期的,服务器响应完毕,调用processStateChange() 方法。

  6. JavaScript在(新的)服务器响应中循环取出所有元素。将页面上存在与获得元素名字相同的 中的元素替换掉。

  在你的应用中设计AJAX

  以上描述的JavaScript方法能在大多数的应用中使用,包括比我们的例子复杂得多的。但是,在使用之前,你需要注意以下几点:

  · 避免复制代码,最好在初始化请求(如,显示完整的页面)和AJAX(更新部分页面)请求中使用相同的Struts Action和JSP。

  ·在公共的Action(控制器)中,决定JSP页面(所有的JSP页面或者其中的一部分)中的一个区域需要传送到浏览器。通过在web服务器的session或者ActionForm中设定标记来让JSP页面知道哪些部分需要提交。

  · 在JSP中,使用Struts 或者JSTL标签来决定提交的HTML区域。

  使用AJAX的本例子,可以在以下下载: struts-Ajax.zip

  结语

  AJAX技术允许我们在创建和使用web应用的时候完全的改变。本文介绍了一个简单的技术,在现有的Struts应用中增加Struts的处理。它允许我们利用我们已有的东西,不仅仅是代码,还包括了开发的技能。作为一个好的产品,它同样允许我们写出更清晰,更具移植性的Java Struts应用。

  资源

  ·作者的blog:http://blog.matrix.org.cn/page/pawenwen

  · Sample code for this article

  · Definition of AJAX

  · "Using AJAX to Catch JavaScript Errors" (XML.com文章)

  · "Developing AJAX Applications the Easy Way" (java.net文章)

  · "An Introduction to AJAX" (dev2dev文章)

  ·"AJAX on Rails" (ONLamp.com文章)

  · DWR: Direct Web Remoting Project

  · Struts Framework Project

  ·JSF: Java Server Faces Project

  Paul Browne 作为企业级Java顾问为FirstPartners.net 工作已有7年了。

原文转自:http://www.ltesting.net