### dwr与struts2 #### Struts2的Ajax支持介绍 **Struts2** 是一个流行的MVC(Model-View-Controller)架构框架,它主要用于构建Java Web应用程序。Struts2提供了强大的功能来帮助开发者简化开发流程并提高效率。其中,**Ajax支持**是Struts2中的一个重要特性之一。 ##### Ajax支持的基础 - **Dojo**:这是一个非常成熟的JavaScript库,提供了丰富的UI组件和页面特效。Dojo使得创建高度交互性的用户界面变得容易,同时简化了Ajax通信的过程。 - **DWR (Direct Web Remoting)**:这是一个强大的服务器端Ajax框架,它简化了客户端JavaScript代码与服务器端Java代码之间的交互。通过DWR,开发者可以直接从客户端调用服务器端的方法,就像调用本地JavaScript函数一样简单。 **DWR** 和 **Dojo** 的结合使得Struts2的Ajax功能更加完善。具体来说: 1. **DWR** 负责实现从JavaScript中调用远程Java方法的功能。 2. **Dojo** 负责实现页面效果的显示,如动态加载数据、页面元素的更新等。 ##### Ajax支持的具体实现 - **输入校验**:Struts2支持基于Ajax的输入校验,这意味着在用户输入的同时就可以完成校验过程,而无需用户进行额外的提交操作。一旦输入不符合预期的要求,系统会立即显示校验错误信息。 - **异步表单提交**:Struts2允许以异步的方式提交表单数据,这减少了页面的重载次数,提高了用户体验。 - **事件模型**:Struts2提供了类似于发布/订阅(pub-sub)的事件模型,使得处理多组件间的交互变得更加灵活。 - **Ajax标签**:为了进一步简化开发过程,Struts2提供了一系列Ajax相关的标签,这些标签可以轻松地嵌入到JSP页面中,实现Ajax功能。 #### 基于Ajax的输入校验 基于Ajax的输入校验是一种服务器端的校验机制,其核心优势在于能够以异步的方式进行校验,从而避免了不必要的页面刷新。 ##### 配置DWR的核心Servlet 为了让DWR的核心Servlet生效,需要在`web.xml`文件中进行相应的配置。以下是一个示例配置: ```xml <servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> ``` 此外,还需要配置一个名为`dwr.xml`的文件,并将其放置在`WEB-INF`目录下。这个文件通常包含一些关于DWR的初始化参数和配置项,例如: ```xml <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <create creator="new" javascript="validator"> <param name="class" value="org.apache.struts2.validators.DWRValidator"/> </create> <convert converter="bean" match="com.opensymphony.xwork2.ValidationAwareSupport"/> </allow> <!-- 其他配置项 --> </dwr> ``` ### 总结 通过结合使用**DWR**和**Dojo**,**Struts2**为开发者提供了丰富的Ajax功能。这些功能不仅增强了用户界面的交互性,也极大地提高了用户的体验。基于Ajax的输入校验和其他特性显著提升了应用程序的性能,同时降低了服务器端的压力。此外,通过在`web.xml`文件中正确配置DWR的核心Servlet以及设置`dwr.xml`文件,开发者可以轻松地在项目中启用这些高级功能。


















剩余6页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 高中信息化班级管理策略探讨.docx
- 一种基本IEEE802.15.4无线智能化传感器网络实现探讨.docx
- 基于云计算的网络安防技术研究.docx
- GSM网络底噪问题处理研究分析.doc
- 2017年专业技术人员继续《网络效应》题库.doc
- IM即时通信项目技术实施方案.docx
- 新形势下工业大数据发展及建议.docx
- 电子商务中最优网络拍卖方案-精品文案范文.doc
- 联通IDC云计算产品介绍.ppt
- 项目管理过程之质量管理.docx
- 单片机的红外遥控开关方案设计课程方案设计.doc
- 电网信息化业务运行监控存在的问题及对策.docx
- 楼宇自动化系统安装与调试.doc
- 如果AutoCAD程序出现故障.doc
- 基于SpringSpringMVCMyBatisVue3x技术栈开发的健身房俱乐部会员管理系统-包含会员注册登录-课程预约-私教管理-健身器材管理-会员卡管理-体测数据记录.zip
- (大学设计)频域图像增强算法研究.doc


