《Struts与Ajax高级程序设计》样章连载——12.4 Struts与Ajax<o:p></o:p>
1. 经典Struts著作,涵盖Ajax<o:p></o:p>
2. 深入剖析Web编程思想和Struts各种高级主题<o:p></o:p>
3. 注重实践,提升你解决实际问题的能力<o:p></o:p>
4. Pro Spring作者新著<o:p></o:p>
<o:p> </o:p>
12.4 Ajax和Struts
在本节中,我们将创建一个使用Ajax技术的简单Struts应用程序。这个应用程序类似于Google Suggest的特性,后者向用户提供搜索关键字来辅助输入。让我们考虑JavaEdge应用程序中的City字段。想象一下,如果用户在开始输入城市时,你能够给他们提供城市输入建议,这会让用户输入更加容易。比如,假设用户所选国家字段是India,如果用户输入“Ba”,就向他们提供所有以“Ba”开头的城市,如图12-2所示。
<!----><!----><!---->
图12-2 Ajax“建议的”下拉列表
本章的其余内容集中介绍如何使用Ajax和Struts来实现这个特性。我们将创建一些基本的Struts代码,实现与图12-2相同的功能。它将使用图12-1中所演示的请求—答复循环。
12.4.1 Cities.jsp文件
如下的Cities.jsp文件是一个JSP文件,我们使用它来调用Ajax代码,当用户在文本字段输入某些字符时,向用户提供对应的城市列表:
上述代码使用XMLHttpRequest对象,向某Struts动作发出指令,获取城市列表。下面我们将解释这个Struts动作。
12.4.2 GetCitiesNamesAction
GetCitiesNamesAction是个典型的Struts动作类,调用后端数据访问对象来获取城市列表:
正如你看到的那样,这个Struts动作本身是没有什么玄机的。现在我们研究DAO。
12.4.3 CitiesDAO
这个DAO类与非Ajax的DAO类没有什么区别,甚至与非Struts应用程序中的DAO类也没有区别。这个类的主要功能是从数据库中获取数据,因为它是基于Ajax技术的,会返回XML。作为一种良好的编程习惯,这个DAO类应该返回一个String或者StringBuffer对象。应该在一个独立的帮助器类或者代理类中实现到XML的转换(但是,在这里我们不会研究面向对象设计模式)。
正如你看到的那样,这个Struts动作本身是没有什么玄机的。现在我们研究DAO。
12.4.3 CitiesDAO
这个DAO类与非Ajax的DAO类没有什么区别,甚至与非Struts应用程序中的DAO类也没有区别。这个类的主要功能是从数据库中获取数据,因为它是基于Ajax技术的,会返回XML。作为一种良好的编程习惯,这个DAO类应该返回一个String或者StringBuffer对象。应该在一个独立的帮助器类或者代理类中实现到XML的转换(但是,在这里我们不会研究面向对象设计模式)。
这就是实际所需的全部代码。使用这个Struts应用程序,可以完成自己的应用程序。现在,需要在struts-config.xml文件中注册这个动作,并像其他Struts JSP和动作类一样设置它。运行这个范例,就会看到期望的结果。
12.5 小结
Ajax是一种非常时髦的新技术,为Web应用程序中的用户界面实现开创了一片新天地。但是,使用它时还需要谨慎。在W3C把Ajax采纳为标准之前,使用Ajax进行编程时,都需要关注跨浏览器问题。同样,不要滥用Ajax。比如,坚持只对后台的有用数据使用Ajax,不要尝试使用它来跳过信息对话框,等等。在使用Ajax之前,一定明确自己看重Ajax的哪些方面。
本文仅供学习交流使用,严禁抄袭和转载,如果将本文内容用于商业用途,将追究法律责任!<o:p></o:p>
好书推荐,精彩明天继续······<o:p></o:p>
你是一位Java Web开发者吗?如果是,我诚挚地、强烈地向您推荐两本业界公认的经典Struts教程······<o:p></o:p>
1.《Struts基础教程》<o:p></o:p>
<o:p> </o:p>
<!---->(1) <!---->针对Java Web开发人员的一本基础教程<o:p></o:p>
<!---->(2) <!---->能够帮助读者迅速掌握Struts基础<o:p></o:p>
更多详细信息:http://www.china-pub.com/33567
<o:p></o:p>
2.《深入浅出Struts》<o:p></o:p>
<o:p> </o:p>
<!---->(1) <!---->Amazon畅销书<o:p></o:p>
<!---->(2) <!---->深入全面地阐释Structs的方方面面..<o:p></o:p>
<!---->(3) <!---->专门章节剖析Struts源代码<o:p></o:p>
更多详细信息:http://www.china-pub.com/35778
分享到:
相关推荐
为了将Ajax技术整合到Struts应用中,我们需要理解一个典型的Struts应用的工作流程,以及如何通过Ajax对其进行优化。 **1. 标准的Struts应用流程** - 用户发起请求(点击链接或提交表单)。 - Web服务器运行Struts...
标题"struts-ajax.rar_ajax struts _struts ajax_struts ajax war"暗示了这是一个关于如何在Struts框架中集成Ajax技术的示例项目。这个项目可能包含了完成这种集成所需的配置文件、Java源代码、JSP页面等资源,帮助...
总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...
Struts、Hibernate和Ajax是Java ...总之,“Struts+Hibernate+Ajax注册示例”是一个综合性的学习项目,它涵盖了Web开发中的多个重要组件,通过实践可以帮助开发者更好地理解和掌握这些技术,提高开发效率和应用质量。
在这个“ajax+struts2.0+jsp下拉列表级联”的示例中,我们将探讨如何利用这三个技术实现这种功能。 首先,AJAX(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页...
Ajax(Asynchronous JavaScript and XML)技术则是Web开发中的一个重要部分,它允许网页在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容,提升了用户体验。在Struts2框架中整合Ajax,可以实现异步数据...
Struts和Ajax是两种在Web开发中广泛应用的技术。Struts是一种基于MVC(Model-View-Controller)设计模式的Java Web框架,它提供了一种结构化的、可维护的开发方式,便于开发者构建复杂的Web应用程序。而Ajax...
Struts和Ajax是两种在Web应用开发中广泛使用的技术,它们各自有其独特的优势和应用场景。结合使用,可以实现更高效、用户体验更好的交互式Web应用。在这个名为"struts-ajax.zip"的压缩包中,我们可以推测它包含了...
- **创建Ajax Action**:在Struts配置文件(struts-config.xml)中,定义一个新的Action,用于处理Ajax请求。 - **使用Ajax标签库**:像DWR这样的框架提供了Ajax标签库,使得在JSP页面上直接调用Ajax请求变得简单。 ...
Struts和Ajax是两种在Web开发中常用的框架和技术,它们结合使用可以构建出高效、动态且用户友好的应用程序。在本篇文章中,我们将深入探讨Struts与Ajax的整合及其在增删查改(CRUD)操作中的应用。 首先,让我们...
首先,让我们思考一个问题:我们能否将Struts与Ajax结合起来使用?答案是肯定的。Ajax的核心是XMLHttpRequest对象,它能够实现客户端与服务器之间的异步数据交换,使得页面无需刷新即可更新部分内容。对于Struts来说...
Struts是一个广泛使用的Java Web开发框架,它提供了一种规范化的MVC(模型-视图-控制器)架构,帮助开发者构建可维护、可扩展的Web应用程序。AJAX(Asynchronous JavaScript and XML)则是一种在客户端通过...
Struts2是一个流行的Java web应用程序框架,用于构建和维护可扩展、模块化且易于管理的MVC(模型-视图-控制器)应用。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端数据交互。在这...
Struts 2是一个强大的、基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在原有的Struts 1的基础上进行了大量的改进和增强,提供了更灵活、高效的开发方式。AJAX(Asynchronous JavaScript and ...
Struts是Apache软件基金会 Jakarta项目下的一个开源框架,主要用于构建基于Java EE的Web应用程序。它提供了MVC(Model-View-Controller)设计模式的实现,简化了开发过程,提高了代码的可维护性和可扩展性。《Struts...
在Ajax请求的JavaScript代码中,使用XMLHttpRequest对象创建一个HTTP请求,设置请求方法(GET或POST)、URL(通常是Struts的Action路径)以及数据。当请求成功返回时,通过onreadystatechange事件处理函数解析服务器...
7. **示例代码**:在提供的压缩包文件“struts2中实现AJAX的小实例”中,可能包含了一个简单的Struts2 Action、对应的JSP页面以及JavaScript代码。Action类可能有一个返回JSON数据的方法,JSP页面可能包含一个AJAX...
在标题提及的“基于dojo的ajax标签的即时验证小程序”中,开发者可能创建了一个简单的Web应用,用于演示如何在Struts2中使用Dojo库进行前端的即时验证。Dojo是一个强大的JavaScript库,它包含了丰富的UI组件和工具,...
这个简单的示例项目对于初学者来说是一个很好的起点,它演示了如何将这四种技术结合在一起,实现前后端的数据交互。通过学习和理解这个例子,开发者可以更好地掌握动态Web应用的开发流程,为进一步深入学习和实践...