Problem: Struts provides

 ActionMessages/ActionErrors 

classes for maintaining a stack of error message to be reported, which can be used with JSP tags like <html: error> to show these message to the user. The problem starts when you have to report different category/severity of message in a different manner. There are two aspects of this problem

  • Throwing error message of different
     category/Severity 
  • Identifying these messages and showing it in a consistent manner.

Struts

 ActionErrors 

class comes very handy in resolving the first issue of stacking messages of different category. To throw error messages of different category use an interface to define all the different category of message like FATAL, ERROR, WARNING, INFO etc. Then in the Action or

 ActionForm 

class you can use

 
errors.add("Message.FATAL", new ActionError("...."));
errors.add("Message.ERROR", new ActionError("...."));
errors.add("Message.WARN", new ActionError("...."));
errors.add("Message.INFO", new ActionError("...."));

saveErrors(request,errors);

Then in the JSP page you can recognize them by

 
<logic:messagePresent property="<%=Action.ERROR_KEY%>"> 
  <html:messages property="<%=Action.ERROR_KEY%>" id="error"> 
    showError('<bean:write name="error"/>'); // JavaScript Function 
  </html:messages>
</logic:messagePresent>

--Puneet Agarwal


Comments

  • No labels