最近发现dwr出了2.0版本,里面提供了与目前一些主流框架的整合,如Spring,JSF,Hibernate,Struts1,Webwork等,但Struts2.0还没有提供,由于现在的项目我们采用的是Struts2.0,所以参考dwr与webwork的整合代码,修改完成了
dwr与Struts2的整和代码
1、首先下载Dwr2的源代码,将 org\directwebremoting\webwork下的类拷出来,放到 新建的一个包
比如 org.dwr.struts2 里,接下去就可以去修改里面的代码,
将类的引用都修改为从struts2的包中引用。
2、接下去关键是修改 DWRAction.java这个类
在该类中 比较特殊的是
com.opensymphony.webwork.dispatcher.DispatcherUtils 对应的struts2中的 org.apache.struts2.dispatcher.Dispatcher这个类
ServletActionContext.WEBWORK_VALUESTACK_KEY 对应 ServletActionContext.STRUTS_VALUESTACK_KEY
3、修改里面的 private DWRAction(ServletContext servletContext) 构造函数为
java 代码
- private DWRAction(ServletContext servletContext) throws ServletException
- {
-
- m_wwDispatcher = Dispatcher.getInstance();
- if(m_wwDispatcher==null)
- {
- m_wwDispatcher = new Dispatcher(servletContext, new HashMap());
- m_wwDispatcher.init();
- Dispatcher.setInstance(m_wwDispatcher);
- }
-
- m_actionProcessor = loadActionProcessor(servletContext.getInitParameter (DWRACTIONPROCESSOR_INIT_PARAM));
- }
然后修改protected ActionInvocation invokeAction 方法 将第126行的代码
java 代码
- ActionProxy proxy = ActionProxyFactory.getFactory().createActionProxy(actionDefinition.getNamespace(), actionDefinition.getAction(), extraContext, actionDefinition.isExecuteResult(), false);
替换为以下代码
java 代码
- Configuration config = du.getConfigurationManager().getConfiguration();
- ActionProxy proxy = config.getContainer().getInstance(ActionProxyFactory.class).createActionProxy(
- mapping.getNamespace(), mapping.getName(), extraContext, actionDefinition.isExecuteResult(), false);
最后将 protected void prepareContinuationAction(HttpServletRequest request, Map extraContext)
里的代码都注释掉 就可以了
4,修改 DWRActionUtil.js文件将里面的webwork字样都替换为 struts2,也可以不用修改,不过觉得不爽就是了
然后就可以按照与webwork整和的方式配置dwr.xml就可以了
<init-param></init-param>最后有一点很重要,就是在 web.xml文件中配置DwrServlet 的时候一定要加上
<param-name></param-name>
exposeInternals
<param-value></param-value>
true
这个参数,否则生成的 DWRAction.js 这个文件将不存在 DWRAction.execute(actionObj, params, callbackObj) 这个函数,这个问题折磨了我近半天的时间啊.
如果需要可以提供代码上来,不过最好还是建议大家亲自去修改一下比较好.
分享到:
相关推荐
Struts2.0和DWR(Direct Web Remoting)是两...通过这些源码,你可以了解到如何在实际项目中整合Struts2.0和DWR,实现高效的AJAX表单验证。这种技术在现代Web应用中非常常见,能够提供流畅的用户体验,提高用户满意度。
Struts2.0和DWR(Direct Web Remoting)是两个在Web开发中广泛使用的开源框架,它们分别在MVC(Model-View-...通过研究这些文件,你可以深入理解如何在实际项目中整合Struts2.0和DWR来实现高效、友好的分页功能。
DWR2.0 for Struts2.0的包 博文链接:https://lxy19791111.iteye.com/blog/130206
本项目利用Spring 2.5、Struts 2.0和Direct Web Remoting (DWR)的集成,实现了用户登录功能,下面将详细解析这三个框架以及它们在用户登录模块中的应用。 **Spring框架** Spring是一款轻量级的Java企业级应用框架,...
标题中的“struts2.0 hibernate 3.2 spring 2.0(dwr jquery)所需文件包”提到了四个关键的技术栈组件,它们在Java Web开发中扮演着重要的角色。下面将分别介绍这些技术及其相关知识点: 1. **Struts 2.0**: ...
Struts2.0、Spring2.0、Hibernate3和DWR以及Freemarker是Java Web开发中的关键组件,它们各自负责不同的职责,并且通过合理的整合,可以构建出强大的企业级应用系统。 Struts2.0是Apache软件基金会下的一个开源MVC...
在您提供的信息中,我们看到一个基于Java的项目,它整合了Spring、JSON、DWR(Direct Web Remoting)、Struts2.0以及Hibernate3.0。下面将详细介绍这些技术及其整合方式。 1. **Spring框架**: Spring是一个开源的...
该源码成功整合了Struts2.0+Hibernate+Spring(SSH架构)+DWR+MySql+Tomcat,直接拷贝部署就可以运行,前提建立相应的数据库。模块包括(组织机构管理,人员管理,角色管理,权限管理等等),每个模块均有增删查改等...
9. **实战与整合**:DWR可以与各种框架如Struts、Spring、Hibernate等无缝集成,用于构建复杂的Web应用。`ajax框架:dwr》实战(包括整合).pdf`这本书籍应该包含了实际项目中的应用案例和整合技巧,是学习DWR 2.0实战...
开发环境:Windows XP sp3、SQL Server 2005、JDK 1.6、Struts2.1.6、Spring 2.0、Hibernate...至于声明式事务部分,你可以参见另外一个资源“Spring 2.0 + Struts 1.2 + Hibernate 3.2 + DWR 2.0 的JavaEE应用示例”
标题 "dwr2.0整合Struts1.3+hibernate3.1+spring2.5的项目" 涉及的是一个经典的Java Web开发技术集成,这其中包括Direct Web Remoting (DWR) 2.0、Struts 1.3、Hibernate 3.1和Spring 2.5。这个项目可能是为了展示...
Struts2.0通过整合现有的AJAX框架来实现其AJAX功能,主要包括Dojo和DWR两个流行的库。 - **Dojo**:一个开放源码的JavaScript库,提供了一套丰富的客户端组件和工具,可以用来创建高度动态的Web应用。Struts2.0利用...
Spring与Struts2整合,可以实现动作类的依赖注入,提高代码的可测试性和可维护性。此外,Spring还提供了数据访问抽象,如JdbcTemplate或HibernateTemplate,使得数据库操作更为简单。 **Hibernate** 是一款强大的...
该示例使用MyEclipse 5.5 IDE用来整合四个技术(Struts 1.2, Spring 2.0, Hibernate 3.2和Ajax技术)的轻量级的JavaEE。 操作步骤如下: 1. 下载并解压之后,使用MyEclipse导入工程 2. 找到demo目录中的.sql数据库...
### DWR2.0中文文档知识点解析 #### DWR概览 DWR(Direct Web Remoting)是一种开源框架,用于简化Ajax应用的开发过程。它允许JavaScript直接调用服务器端的Java方法,从而实现了客户端与服务器端之间的无缝交互。...
Struts1.2、iBatis、DWR2.0和MySql5.0是Java Web开发中的四个重要组件,它们分别在MVC(模型-视图-控制器)架构的不同层面上发挥着关键作用。这个小例子展示了如何将这些技术整合在一起,实现一个基本的增删改查功能...
在SSH框架中整合DWR2.0,主要是为了让Spring管理DWR的生命周期,从而简化配置和提高可维护性。首先,我们需要将DWR的相关库引入到项目中,然后进行以下步骤: 1. **删除dwr.xml配置文件**:在整合Spring和DWR后,...