最近修了几个struts2.1升级到2.3后动态方法调用失效的bug,深有感悟,
原始方法可以参考我之前的博文:struts2.1升级到2.3后动态调用方法问题
但是我那种原始方法有一个局限,就是在submit那里写下的action不起作用,就算启动了动态方法调用也不行(我想应该是struts2.3的一个bug),所以为了完善这个功能,这里我再说一个用js的方法。
在<s:submit value="提交" onclick="return submitAction('某某action')" />,添加onclick方法,然后再在js里面写上:
function submitAction(actionName){
document.form的name.action = actionName+".action";
return true;
}
或者是<s:submit value="提交" onclick="submitAction('某某action')" />,注意少了一个return单词,然后在js里面写上:
function submitAction(actionName) {
document.form的name.action = actionName+".action";
document.form的name.submit();
}
现在struts2的动态方法调用基本都完善了,欢迎评论补充。
转载请标明原文出处:http://blog.csdn.net/u012367513/article/details/26177713
分享到:
相关推荐
总的来说,使用JavaScript模拟Struts2多Action调用是一种可行的解决方案,特别是在遇到特定版本兼容问题时。然而,为了保持代码的整洁和可维护性,最好还是尽量利用框架提供的特性,或者寻找官方更新或社区的解决...
这个"模拟Struts2代码+文档"的压缩包很可能包含了一个简化的Struts2应用实例和相关的技术文档,帮助初学者理解Struts2的工作原理和实践操作。 Struts2的核心特性包括: 1. **Action类**:在Struts2中,Action类是...
Struts 2具有许多优点,例如易于集成、强大的拦截器机制、灵活的配置方式等,这些特性使得Struts 2成为了很多大型项目的首选框架。 #### 三、CRUD实现步骤 ##### 3.1 创建数据模型 - Book类 在进行CRUD操作之前,...
Struts2在线购书系统是一个基于Java技术栈的Web应用程序,设计用于模拟类似当当网的在线购物体验。这个系统的核心框架是Struts2,它是一个强大的MVC(Model-View-Controller)框架,用于构建可维护性高、结构清晰的...
通过这个模拟Struts框架,初学者可以动手实践,从创建简单的Hello World应用开始,逐步深入到复杂的业务场景,从而对Struts框架有更全面的理解。同时,这也有助于为学习其他MVC框架,如Spring MVC打下坚实的基础。
对于测试,可以使用Struts2提供的`ActionProxyFactory`和`ActionInvocation`来模拟表单提交并测试验证逻辑,确保所有验证规则都能正常工作。 总之,Struts2的验证框架提供了强大的用户输入验证能力,既包括基础的...
此外,Vaadin的`VaadinSession`和`UI`实例可以模拟Struts2的Session和RequestScope,用于共享数据。 5. **拦截器(Interceptor)概念**:虽然Vaadin没有直接的拦截器概念,但可以通过自定义`BeforeEnterObserver`或...
在实际应用中,自定义Ajax框架可能与模拟Struts框架结合,例如,通过Ajax请求调用Struts的Action,这样可以在不刷新页面的情况下更新内容,提供更好的用户体验。 至于“特效代码”,这可能指的是用来增强用户界面的...
- 在集成环境中,单元测试和集成测试是必不可少的,可以使用JUnit和Mockito进行服务层测试,而Struts2提供的模拟请求工具(如Struts2TestCase)则帮助进行Action层的测试。 综上所述,"Spring+Struts的集成(第一种...
Struts2与Spring的结合使得模型层和视图层能够更好地解耦,Spring通过依赖注入管理Struts2的Action类,提供更佳的控制反转和面向接口的编程方式。而iBatis作为数据访问层,允许开发者直接编写SQL,避免了ORM(对象...
6. **拦截器(Interceptors)**:Struts2的拦截器机制允许开发者在Action调用前后插入自定义的处理逻辑,如日志记录、权限验证等,增强了框架的功能。 7. **结果类型(Result Types)**:Struts2支持多种结果类型,...
【基于Struts2的ATM取款机模拟】是一个典型的Web应用程序开发实例,它通过使用Struts2框架来实现一个模拟银行ATM机的功能。在这个项目中,开发者旨在帮助学习者理解如何运用Struts2框架处理用户请求,控制业务流程,...
"JS2Struts-开源"项目是一个用于JavaScript与Struts框架之间交互的工具,它允许开发者使用JavaScript在客户端模拟浏览器发起的HTTP请求,进而与服务器端的Struts应用进行通信。这个工具对于前端开发者尤其有用,因为...
- 使用Struts1的`ActionError`和`ActionMessage`来处理用户输入校验错误,或在业务逻辑中抛出异常。 - 配置struts-config.xml中的全局错误处理,如定义全局的错误页面。 7. **视图技术**: - 视图层可能使用JSP...
接下来是插件,Struts2支持丰富的插件系统,如 strut2-dojo-plugin 用于与Dojo JavaScript库集成, strut2-convention-plugin 提供了自动配置和约定优于配置的能力。测试这些插件能确保它们在实际运行环境中能正常...
本项目“基于Struts框架的购物车系统”旨在提供一个实际的电商场景模拟,帮助学习者理解和掌握如何在实际项目中运用Struts框架。 【描述】提到的实用性意味着这个购物车系统可以用于课程设计,同时具备扩展性,可以...
Struts、JNDI(Java Naming and Directory Interface)和Ajax(Asynchronous JavaScript and XML)是IT行业中常见的技术栈,尤其在构建Web应用程序时扮演着重要角色。以下将详细阐述这三个技术及其相互之间的应用。 ...
用户输入的登录信息将通过Ajax发送到服务器,Struts2的Action会验证这些信息并以JSON格式返回结果,前端JavaScript根据返回的结果提示用户登录是否成功。这种方式提高了用户体验,因为页面无需刷新即可完成登录操作...