我正在尝试使用addActionMessage()
并将addActionError()
操作(例如 in execute()
)中的消息和错误传递到转发的页面。
在 JSP 中,我使用:
<s:if test="hasActionMessages()">
<s:actionmessage/>
</s:if>
显示此类消息。
但没有显示任何消息。我想知道是否有人可以解决此问题,或提出其他解决方案。我是 Struts 和 Web 开发的新手,我不确定将消息从操作传递到页面的正确模式是什么。
编辑:动作映射代码和java代码
<action name="myAddUser" class="org.any.backend.action.UserAdminAction" method="addUser">
<result name="success" type="redirectAction">myUserAdmin</result>
<result name="input" type="redirectAction">myUserAdmin</result>
</action>
Java代码:
public String addUser() throws Exception {
// check duplicate
for (User u : userList)
if (u.getUserName().equals(userName)) {
addActionError("A user with the same user name already exists. Choose another user name. ");
return INPUT;
}
if (userName != null && !userName.isEmpty() && password != null && !password.isEmpty()) {
User newUser = new User();
newUser.setUserName(userName);
newUser.setPassword(password);
userList.add(newUser);
addActionMessage("User " + userName + " added. ");
return SUCCESS;
} else {
addActionError("User name and password cannot be empty");
return INPUT;
}
}