博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2之两个Action传值和不传值的struts.xml文件配置
阅读量:6037 次
发布时间:2019-06-20

本文共 2058 字,大约阅读时间需要 6 分钟。

 例如 

在执行完action1之后要直接跳转到action2,并且action1要传一些参数给action2,在struts.xml文件中的配置如下:
    
    <action name="action1" method="" class="">
            <result 
name="success" type="chain">
                <param 
name="actionName">action2</param>
                <param 
name="param1">${param1}</param>
                <param 
name="param2">${param2}</param>
            </result>          
     
        </action>   
注意:
     1. 
若param1和param2是两个变量,那么在两个action中都要有他们的getter和setter
     2. 
若param1是常量,那么在action1中只要有一个param1的getter,在action2中要有param1的getter和setter    
如果在两个action之间直接跳转而不用传参数,struts.xml文件可以和上面一样,只是没有param标签,还可以使用如下配置:
    
<action name="action1" method="" class="">
        <result 
name="success" type="redirectAction">action2.action</result>           
    
    </action>
即可

 

 

 

struts2 action 向jsp页面传递参数问题

在JSP页面的<@page>标签下面加一个 <@ taglib prefix="s" uri="/struts-tags" >标签包(关于这个标签包的配置和使用建议到网上搜索看看),然后 yes.jsp写法。 
这里面item对应着list里的每个元素。 如果item 是对象(如是People对象且People有一个name属性)则可以写成下这样。
在 Action中我们经常会从这个Action跳转到另一个Action中,如果只是简单的跳转那么很 容易,只需在struts配置文件中添加一个result,如:
/manager /managerInfo/account.jsp. result 有一个type属性,这里的type默认是dispatcher,但这种情况下action之间是不能发送请求的,这时我们就要用到 redirect、redirect-action、chain,当要请求一个action时,可设定type的值为以上三个中的一个,如:
/manager/managerInfo/account.action
.
   如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx" 的形式来传递参数.如:<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?参数名=参数值</result>,如果这里的参数值不是一个固定值可以用"${参 数值}"这种形式,需要注意的是这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个 对象的某个属性值即:${对象名.属性名},假如我想取得一个帐户的帐号:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}</result>.
如 果想传递多个参数用"&"符号来连接吗?NO,因为 用"&"会在XML语法检查中报错,所以将"&"用"&amp;"来替换就行了!如:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}&amp;account.balance=${account.balance}</result>.
注:当使用type="redirectAction"时,result中的.action(上面红色标注的地方)可要可不要,但是当你要传递参数里,而且参数中含有中文字符时一定不要加.action,否则你的参数值是无法传递的,这是自己后来才发现的,大家有兴趣的可以去试试...
本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/archive/2013/03/08/2949258.html,如需转载请自行联系原作者
你可能感兴趣的文章
231. Power of Two
查看>>
control.add()
查看>>
p点到(a,b)点两所在直线的垂点坐标及p点是否在(a,b)两点所在直线上
查看>>
GridView强制换行与自动换行
查看>>
51Nod 1003 阶乘后面0的数量(数学,思维题)
查看>>
Sublime text3中配置Github
查看>>
Getting Started with iOS Development Part10:Customizing your Mobile target's Splash screen
查看>>
asp.net C# MVC 提交表单后清空表单
查看>>
备份软件 FreeFileSync 怎么用
查看>>
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
CentOS7 睡眠 休眠 关机 电源
查看>>
SqlServer里DateTime转字符串
查看>>
2019-4-23 plan
查看>>
固定弹层叉掉
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>