`
ghl116
  • 浏览: 165859 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2.11中的chain与store

阅读更多
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技术

 

 


分享到:
评论

相关推荐

    struts2.0中文教程

    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

    Struts2.0视频教程+struts2.0中文教程

    1. **Struts2框架概述**:介绍Struts2的发展历程、优势和与Struts1的区别,以及在Java Web开发中的地位。 2. **环境配置**:讲解如何安装和配置开发环境,包括JDK、Eclipse或IntelliJ IDEA集成开发环境、Apache ...

    strut2.11的validator框架

    ### Struts2.11的Validator框架详解 #### 引言 随着Web应用复杂度的增加,用户输入数据的有效性和安全性越来越受到重视。Struts框架作为一款流行的企业级Java Web应用开发框架,提供了丰富的功能来简化开发过程。...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理.pdf

    同样重要的是,《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的...

    Struts Web设计与开发大全

    在实际开发中,Struts与数据库的交互通常通过DAO(Data Access Object)模式实现,这有助于分离数据访问层和业务逻辑层。Hibernate或iBatis等持久层框架可以与Struts集成,简化数据操作。 Struts 2作为Struts的升级...

    Struts2-API+Struts2中文帮助文档

    此外,文档可能还会涵盖Struts2与其他技术的整合,如Spring框架的集成,以及数据库操作的示例。 在实际开发中,Struts2允许灵活的扩展性,例如通过编写自定义拦截器来增强功能,或使用FreeMarker或JSP作为视图层...

    Struts升级到Struts2.3.35

    北京时间8月22日13时,Apache官方发布通告公布了Struts2中一个远程代码执行漏洞(cve-2018-11776)。该漏洞可能在两种情况下被触发,第一,当没有为底层xml配置中定义的结果设置namespace 值,并且其上层动作集配置...

    Struts2.0中文教程权威版

    Struts 2权威指南——第1章 Struts 2概述.doc Struts 2权威指南——第2章 Struts 2下的HelloWorld.doc ...Struts2中的零配置与CoC(Convention over Configration).doc Struts2介绍之使用链接标签.doc

    struts2帮助文档

    struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶...

    在struts1中使用拦截器——saif-0.1.jar

    本文将深入探讨在Struts1中如何使用拦截器,并以saif-0.1.jar为例,解释其在实际项目中的应用。 首先,理解Struts1拦截器的概念。拦截器是基于Java的动态代理机制实现的,它们按照预定义的顺序对请求进行拦截,执行...

    Struts2.3中文帮助文档

    Struts2.3中文帮助文档,需要的尽快下载。

    如何解决struts2中烦人乱码

    在struts2中解决页面中出现的乱码问题,写在web.xml中

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    Struts 2.0系列(MAX)

    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

    pet store struts2

    在实际开发过程中,开发者还需要了解如何使用Struts2与其他技术如Spring、Hibernate的集成,以实现更高效的服务层和持久层管理。此外,测试也是重要的一环,Struts2提供了JUnit集成,方便进行单元测试和集成测试。 ...

    Struts 2中文帮助文档

    其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为...

    Struts1与Struts2本质区别

    ### Struts1与Struts2本质区别 #### 1. 在Action实现类方面的对比 - **Struts 1**:要求Action类必须继承一个抽象基类`Action`,这种设计方式意味着开发者必须按照预设的结构来编写代码,灵活性较低。这种通过抽象...

    留言板留言板struts2留言板struts2

    2. **Action与ActionMapping**:在Struts2中,业务逻辑通常封装在Action类中。一个Action类对应一个用户请求,处理来自客户端的请求并返回结果。ActionMapping则负责配置Action与URL的映射关系,使得请求能正确路由...

Global site tag (gtag.js) - Google Analytics