2011-05-30 48 views
1

参数n其JSP值从动作我的行动,比如在下面的struts.xml如何获得在Struts2

defaultPage defaultPage

我想控制与几个一起重定向到同一页面根据从方法“sentMailToContactUs”

实施例的结果参数:

如果sentMailToContactUs返回成功/失败

<result name="success" type="redirctAction"> 
<param name ="actionName">Contact</param> 
<param name ="resultRtn">Y</param> 
</result> 

    <result name="fail" type="redirctAction"> 
<param name ="actionName">Contact</param> 
<param name ="resultRtn">N</param> 
</result> 

如何读取动作JSP以上参数...........?

如果参数resultRtn = 'Y' - >一些控件可用

如果参数resultRtn = 'Y' - >某些控件都无法使用,

如果参数resultRtn = '空' - - >显示所有控制

谢谢......

回答

2

对我来说,它的工作是这样的..

在struts.xml中:

<result name="success" type="redirectAction"> 
    <param name="actionName">Contact</param> 
    <param name="resultVariable">${resultVariable}</param> 
</result> 

在动作类的getter二传手为resultVariable

接触页接收参数n它的价值:

<s:set var="reaultTyp"><s:property value="%{#parameters['resultVariable']}"/></s:set> 

谢谢你们俩......

+0

谢谢,这个工作适合我。我正在使用没有成功! – Accollativo 2014-05-08 10:43:22

1

你需要在你的Contact动作设置“Y”一个设置resultRtn方法,“N”或OT她的价值观。你需要有一个得到方法为您的JSP调用,以便您可以检索值并相应地显示控件。

+0

结果配置中的参数标签在结果​​上设置,而不是在操作上设置。在上面的例子中,Struts2会调用'setActionName'方法,并试图在'ServletActionRedirectResult'上调用'setResultRtn'方法,而后者不存在。一旦他成功地将resultRtn = Y/N附加到URL中,那么你的回答是正确的。 – 2011-05-30 16:28:26

1

param标记不用于设置URL上的参数,它用于设置结果的配置参数。你应该能够在actionName内设置的查询字符串参数如下:

<result name="success" type="redirctAction"> 
    <param name="actionName">Contact?resultRtn=Y</param> 
</result> 

<result name="fail" type="redirctAction"> 
    <param name="actionName">Contact?resultRtn=N</param> 
</result> 

也可以代替redirectAction的正常用重定向这里。