您的位置:首页 > 编程语言 > Java开发

Struts2 action之间传参 (转自sfm1314620)

2012-11-29 10:59 218 查看
方法一:使用resulttype="redirect"

配置如下所示:

<resulttype="redirect">/action2.action?user.id=${user.id}&user.name=${user.name}....</result>

方法二:使用resulttype="chain"

chain会把前一个Action里的所有属性值带到下一个Action中来。

<resultname="success"type="chain">login</result>

login为另外个Action的配置,但要注意的是后一个Action中也要把属性写出来,并且提供getter,setter

多个空间传值示例:

Xml代码

<packagename="public"extends="webwork-default">
<!--ChaincreatAccounttologin,usingthedefaultparameter-->
<actionname="createAccount"class="...">
<resulttype="chain">login</result>
</action>


<actionname="login"class="..."> <!--Chaintoanothernamespace--> <resulttype="chain"> <paramname="actionName">dashboard</param> <paramname="namespace">/secure</param> </result> </action> </package>
<packagename="secure"extends="webwork-default"namespace="/secure"> <actionname="dashboard"class="..."> <result>dashboard.jsp</result> </action> </package>
方法三:使用redirectAction<actionname="test"class=""><resulttype="redirectAction"><paramname="actionName">action的名字</param><paramname="参数名">参数值</param></result></action>

Struts2中action之间传参中文乱码的问题

Struts2中action之间传参中文乱码的问题
解决方法一(已经验证,可以):
两个action都定义要传的参数属性的get和set方法,必须相同!
在struts.xml中定义:
<resultname="input"type="redirect"><paramname="location">/homepage.ic?loginError=${loginError}</param><paramname="encode">true</param></result>解决方法二(据说也可以):在action里面用
username.setName(URIUtil.encodeQuery(username.getName()))注:Post方式表单提交正常,GET方式提交中文乱码,在Tomcat配置文件Server.xml的Connector标签中加入“URIEncoding=UTF-8”。传参乱码可以使用param:<actionname="broSales"class="salesAction"method="broSales">
<result>/sales/salesbro.jsp</result>
<resultname="input"type="redirectAction">
<paramname="actionName">listSales.do</param>
<paramname="namespace">/sales</param>
<paramname="soGroupId">${soGroupId}</param>
<paramname="soName">${soName}</param>
</result>
</action>这种方式仅适合于redirectAction方式,不适合于redirect方式

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: