JavaWeb开发中alias * 的使用方法
作者:MSTK 发布时间:2023-08-20 10:36:55
标签:alias, , ,使用
在SSH项目中,有时需要由一个Action跳转到另一个Action。有两种方式可以实现Action之间的跳转,一种是chain,另一种是redirectAction,这两种方式之间的区别是chain是在服务器上跳转,可以实现不同Action之间的数据共享;而redirectAction是在客户端进行跳转。
使用chain在不同的Action之间传递参数值,这个功能可以通过alias * 来实现。
1. 指定Filter类
在web.xml中设置下面的 * :
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2. 传递参数值
在struts.xml文件中,定义第一个被调用的Action:
<action name="XXX" class="XXXAction">
<result name="success"></result>
<result name="input" type="chain">
<param name="actionName">input_error</param>
</result>
</action>
定义第二个被被调用的Action:
<action name="input_error" class="inputErrorAction">
<param name="aliases">#{'error_status':'status','error_desc':'desc'}</param>
</action>
当第一个Action返回input时,就会跳转到第二个Action,此时将第一个Action中的error_status、error_desc的值分别传递给第二个Action的status、desc,从而实现了参数值的传递。一定要注意进行参数值传递的变量一定要有getter()和setter()方法,否则传递过去的值就是null。
以上所述是小编给大家介绍的JavaWeb开发中alias * 的使用方法网站的支持!
来源:http://www.cnblogs.com/mstk/archive/2016/08/24/5803588.html


猜你喜欢
- unity场景加载分为同步加载和异步加载,供大家参考,具体内容如下同步加载 loadScene首先将前置工作做好。创建一个项目工程,然后创建
- privatestring[]GetMoc() { string[]str=newstring[3]; ManagementClassmcC
- 本文实例讲述了C#实现简单合并word文档的方法。分享给大家供大家参考。具体如下:using System;using System.Col
- 这篇文章主要介绍了spring boot 全局异常处理方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 下载安装openoffice,下载地址:http://www.openoffice.org/download/我安装的目录:输入cmd回车在
- 本文实例为大家分享了Android封装MVP实现登录注册功能,供大家参考,具体内容如下model包:import com.bwei.mvps
- 我们讲一下Criteria查询,这个对于不是太熟悉SQL语句的我们这些程序员来说是很容易上手的。 废话不多说,看一下例子:&nbs
- C#提升管理员权限修改本地Windows系统时间在桌面应用程序开发过程中,需要对C盘下进行文件操作或者系统参数进行设置,例如在没有外网的情况
- 如果项目中使用到了MyBatis框架,那么使用通用Mapper和PageHelper分页插件将极大的简化我们的操作。通用Mapper可以简化
- try { using (TransactionScope tr = new Transact
- 本文实例为大家分享了convinientbanner顶部广告轮播控件的具体代码,供大家参考,具体内容如下gradle中添加compile &
- 关键点:将List内存储的对象实现Comparable类,重写它的compareTo()方法即可Bean:package chc;publi
- 实现方式通过挨个罗列的方式一次复制子对象是非常耗费人力的,如果子对象是引用类型,则还要需要考虑是否对子对象进一步深拷贝。实际应用中,一个类如
- 输出为MP4需要用到ffmpeg相关的文件,我打包的库已经带了,去官网找的库可以在这个目录找到:2:添加这些引用:3:两个全局变量://用来
- 一 自定义异常/** * 自定义参数为null异常 */public class NoParamsException extends Exc
- 用Flutter实现弹幕功能,轻松实现虎牙、斗鱼的弹幕效果。先来一张效果图:实现原理弹幕的实现原理非常简单,即将一条弹幕从左侧平移到右侧,当
- 介绍开发中,页面头部为搜索样式的设计非常常见,为了可以像系统AppBar那样使用,这篇文章记录下在Flutter中自定义一个通用的搜索框Ap
- ArrayBlockingQueue有界的阻塞队列,内部是一个数组,有边界的意思是:容量是有限的,必须进行初始化,指定它的容量大小,以先进先
- Semaphore 通常用于限制可以访问某些资源(物理或逻辑的)的线程数目。自从5.0开始,jdk在java.util.concurrent
- 1.概述:C语言中的单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表中最简单的一种