Struts2 异常消息
我想在引发异常时显示带有自定义消息的自定义页面。 我就是这样做的 行动类:Struts2 异常消息,struts2,Struts2,我想在引发异常时显示带有自定义消息的自定义页面。 我就是这样做的 行动类: catch(OrbytTvException e) { result=NONE; Error err=new Error(); err.setErrMsg("Exception Occured"); log.info(err.getErrMsg()); request.setAttribute("error", err); } Struts.xml: <result na
catch(OrbytTvException e) {
result=NONE;
Error err=new Error();
err.setErrMsg("Exception Occured");
log.info(err.getErrMsg());
request.setAttribute("error", err);
}
Struts.xml:
<result name="none">/WEB-INF/pages/error.jsp</result>
错误这是一个包含errMsg属性的bean
当这里出现异常时,我正在为该属性设置一个值
Error.jsp:
<s:bean name="com.sits.itv.util.Error" var="errorBean" />
<s:property value="#errorBean.errMsg"/>
这里我显示errMsg,但它显示为null
请您帮助我如何在struts2中显示自定义消息。我认为,要在UI上显示异常,s2提供了一种干净的方法,默认情况下,ExceptionMappingInterceptor会将以下值添加到值堆栈中: 异常对象本身 exceptionStack堆栈跟踪中的值 这就是您在JSP页面中需要做的全部工作
<s:property value="%{exception.message}"/>
<s:property value="%{exceptionStack}"/>
详情请参阅官方文件
此外,您不需要执行request.setAttributeerror,err;由于S2提供了一个干净的函数,您只需在action类中声明一个属性及其getter和setter,就可以在JSP中自由地将它们重新绑定,因为该属性将作为值堆栈的一部分提供
但我仍然相信,这不应该是向用户显示信息的方式,它的使用框架提供了一种更灵活、更易于使用的方式。谢谢您的重播。您能为我提供参考URL,以便在中开发异常处理吗strut2@rams:异常处理在S2和S2中没有什么不同在S2中,您不需要抛出任何特定的异常,实际上您可以随意抛出任何异常,我在回答中已经提供了两个参考,详细解释了如何处理和向最终用户显示信息