尝试使用动态参数重定向映射时遇到问题。
我在Struts2中的映射方式:
<action name="Delete" class="templateLalaAction" method="remove">
<result name="success" type="redirect-action">
<param name="actionName">LalaTemplatesDisplay</param>
<param name="buId">${buId}</param>
</result>
<result name="failure" type="redirect-action">
LalaTemplatesDisplay
</result>
</action>
操作中的“删除”方法:
remove() {
putRequestAttribute("buId",Long.valueOf("1111"));
return SUCCESS;
}
如果我执行此操作,则设置buId=1111
,但是当我运行应用时,url
以buId= (it's empty)
结束,即没有传递任何参数。
如果我对putRequestAttribute
方法发表评论,并设置struts将buId
参数作为static
值传递:
<action name="Delete" class="templateLalaAction" method="remove">
<result name="success" type="redirect-action">
<param name="actionName">LalaTemplatesDisplay</param>
<param name="buId">1111</param>
</result>
<result name="failure" type="redirect-action">
LalaTemplatesDisplay
</result>
</action>
一切正常,url
以buId=1111
结尾。
我也读过question,其中接受的答案教会我们做同样的事情,但如果我们阅读用户所做的评论,我们就会发现他遇到了同样的问题。我可能做错了什么?
答案 0 :(得分:2)
在你的方法中,只需指定buId
变量,你就需要在你的动作类中使用getter / setter。
public String remove() {
buId = 1111l;
return SUCCESS;
}
此外,您使用redirect-action
的旧语法,使用驼峰案例redirectAction
。