当使用“链”结果类型调用新操作时,Actionmessages 和 actionerror 值设置为 null

问题描述 投票:0回答:1

我正在添加如下操作消息

this.addActionMessage("alert:" + getText("message.display.Sucess"));
<action name="resetpass" method="resetpass" class="com.UserAction">
    <result type="chain">usersAdmin</result>
</action>

<action name="usersAdmin" method="usersAdmin" class="com.UserAction">
<result name="List">/jsp/templates/admin/user/UserAdmin.jsp
</result>

使用struts2 2.5.33时,当我点击重置按钮时,警报在网页上添加成功,但是当我升级到6.3.0.2时,actionMessages的值为null。调用新操作时,该值不会保留。

我还读到,当您使用 Struts 2 中的“链”结果类型重定向到另一个操作时,您需要注意请求和操作上下文会被重新创建。为什么这个问题在早期的struts版本中没有出现?

我必须显式添加存储拦截器( STORE/RETRIVE ,然后它才能保留该值。我在许多区域添加了这些验证错误,并且使用存储似乎不合适。即使

request.setattribute("message",this.getActionMessages())
工作

您能否帮忙解释一下此更改的确切原因以及如何修复它?

struts2 chain struts2-interceptors valuestack actioncontext
1个回答
0
投票

struts.xwork.chaining.copyErrors 现已更新为 struts.chaining.copyErrors

改变这个有效。谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.