s2sh中 result的返回类型使用type="chain"时,发现两个action只共享request请求,
因此即使校验失败也会执行input中配置的action
而后一个action并不共享前一个action的actionError,actionMessage等信息!
使用store拦截器,返回类型为redirecAction时,两个action可以共享actionMessage,actionError
使用<s:debug></debug>标签可以查看堆栈中的内容
Store只存储action级别的Message和Error
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="store">
<param name="operationMode">AUTOMATIC</param>
</interceptor-ref>
</interceptor-stack>
放到defaultStack前面,当action校验失败时 <result name="input" type="redirectAction">updatePUser?user.id=${user.id}</result>不会执行配置的action
若放到defaultStack最后面,当action校验失败时,<result name="input" type="redirectAction">updatePUser?user.id=${user.id}</result>仍会执行action,但会丢失fieldError。
当校验失败时,返回页面后,既要得到原来的数据,又要得到验证信息,解决办法:prepare接口及拦截器的配合使用,即重新定义拦截器
<interceptor-stack name="myStack">
<interceptor-ref name="auth"></interceptor-ref>
<interceptor-ref name="stack_noprepare"></interceptor-ref>
</interceptor-stack>
<interceptor-stack name="fullStack">
<interceptor-ref name="prepare"></interceptor-ref>
<interceptor-ref name="myStack"></interceptor-ref>
</interceptor-stack>
或者使用ajax技术
分享到:
相关推荐
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 ...13 Struts 2与AJAX
1. **Struts2框架概述**:介绍Struts2的发展历程、优势和与Struts1的区别,以及在Java Web开发中的地位。 2. **环境配置**:讲解如何安装和配置开发环境,包括JDK、Eclipse或IntelliJ IDEA集成开发环境、Apache ...
### Struts2.11的Validator框架详解 #### 引言 随着Web应用复杂度的增加,用户输入数据的有效性和安全性越来越受到重视。Struts框架作为一款流行的企业级Java Web应用开发框架,提供了丰富的功能来简化开发过程。...
同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...
同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...
在实际开发中,Struts与数据库的交互通常通过DAO(Data Access Object)模式实现,这有助于分离数据访问层和业务逻辑层。Hibernate或iBatis等持久层框架可以与Struts集成,简化数据操作。 Struts 2作为Struts的升级...
此外,文档可能还会涵盖Struts2与其他技术的整合,如Spring框架的集成,以及数据库操作的示例。 在实际开发中,Struts2允许灵活的扩展性,例如通过编写自定义拦截器来增强功能,或使用FreeMarker或JSP作为视图层...
北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...
Struts 2权威指南——第1章 Struts 2概述.doc Struts 2权威指南——第2章 Struts 2下的HelloWorld.doc ...Struts2中的零配置与CoC(Convention over Configration).doc Struts2介绍之使用链接标签.doc
struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶...
本文将深入探讨在Struts1中如何使用拦截器,并以saif-0.1.jar为例,解释其在实际项目中的应用。 首先,理解Struts1拦截器的概念。拦截器是基于Java的动态代理机制实现的,它们按照预定义的顺序对请求进行拦截,执行...
Struts2.3中文帮助文档,需要的尽快下载。
在struts2中解决页面中出现的乱码问题,写在web.xml中
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的...Struts 2与AJAX
在实际开发过程中,开发者还需要了解如何使用Struts2与其他技术如Spring、Hibernate的集成,以实现更高效的服务层和持久层管理。此外,测试也是重要的一环,Struts2提供了JUnit集成,方便进行单元测试和集成测试。 ...
其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为...
### Struts1与Struts2本质区别 #### 1. 在Action实现类方面的对比 - **Struts 1**:要求Action类必须继承一个抽象基类`Action`,这种设计方式意味着开发者必须按照预设的结构来编写代码,灵活性较低。这种通过抽象...
2. **Action与ActionMapping**:在Struts2中,业务逻辑通常封装在Action类中。一个Action类对应一个用户请求,处理来自客户端的请求并返回结果。ActionMapping则负责配置Action与URL的映射关系,使得请求能正确路由...