要显示错误,我们需要包含错误消息的消息密钥。
我创建了一个名为ApplicationError.properties
的新资源包,其中包含以下属性:
app.error=Error: {0}
我尝试将此类从struts1更改为struts2,但我遇到了错误处理问题。我没有在struts2中找到等效的
public class MyAction extends Action{
public ActionForward execute(ActionMapping actionMapping,
ActionForm actionForm,
HttpServletRequest request,
HttpServletResponse response)
throws Exception{
ActionErrors actionErrors = new ActionErrors();
ActionMessage message = new ActionMessage("app.error","Not Found Exception");
try{
//some code
}catch(NotFoundException e){
actionErrors.add(ActionErrors.GLOBAL_MESSAGE, message);
saveErrors(request, actionErrors);
return getErrorActionForward(actionMapping);
}
return getActionForward(actionMapping);
}
你能帮我解决这个问题吗?
答案 0 :(得分:1)
检查您的动作类要扩展的ActionSupport
类。然后使用其方法添加错误。
此类还实现了TextProvider
,因此您可以从资源中获取本地化消息。
/** Add an Action-level error message to this Action. */ void addActionError(String anErrorMessage) /** Add an Action-level message to this Action. */ void addActionMessage(String aMessage)