我尝试在Action类中添加操作错误,然后将其打印在JSP页面上。
发生异常时,它将进入catch块,并在控制台中打印“插入异常时出现错误,请联系管理员”。
在catch块中,我添加了它addActionError(),并尝试在jsp页面中打印它… 但是消息未在jsp page中显示 。
addActionError()
我可能缺少什么或做错了什么?
Struts映射:
<action name="dataUpdate" class="foo.bar.myAction" method="updation"> <result name="success" type="redirectAction"> ../Aggregator/redirectToDataUpdate </result> </action>
动作类:
public String updation() throws JiffieTransactionException{ try { // do stuff... } catch (NumberFormatException e) { addActionError("Error in inserting the Exception, Contact the Admin"); System.out.println("Error in inserting the Exception, Contact the Admin"); e.printStackTrace(); } return SUCCESS; }
用于打印操作错误的JSP代码:
<s:if test="hasActionErrors()"> <br></br> <div class="errors"> <font color="red"> <s:actionerror/> </font> </div> </s:if>
当您执行redirectAction时,将创建一个新的Request,因此所有的actionMessages,actionErrors以及所有其他参数(未明确声明要在struts配置中传递)都将丢失。
然后
ERROR
<action name="dataUpdate" class="foo.bar.myAction" method="updation"> <result name="success" type="redirectAction">....redirectToDataUpdate</result> <result name="error">previousPage.jsp</result> </action> public String updation() { try { // do stuff... return SUCCESS; } catch (NumberFormatException e) { addActionError("Errors... "); e.printStackTrace(); return ERROR; } }