I would like to be able to customize the output when an exception is thrown with minimal or no extra overridden classes. My struts config (1.1) config file looks like this:
.... <global-exceptions> <exception key="error.persistence.create" type="javax.ejb.CreateException" path="/tmpl_main.jsp?page=/error/syserror.jsp"></exception> <exception key="error.http.methodnotsupported" type="javax.mail.MethodNotSupportedException" path="/tmpl_main.jsp?page=/error/syserror.jsp"></exception> <exception key="error.naming.namenotfound" type="javax.naming.NamingException" path="/tmpl_main.jsp?page=/error/syserror.jsp"></exception> <exception key="error.servlet.illegalparameter" type="com.je.servlet.IllegalParamsException" path="/tmpl_main.jsp?page=/error/syserror.jsp"></exception> </global-exceptions> The properties file looks like this: errors.header=The following system errors occurred:<ul> errors.footer=</ul> error.persistence.create=An error occurred attempting to create a database record error.http.methodnotsupported=This type of request is not supported for this URL error.naming.namenotfound=Lookup failed with naming service error.servlet.illegalparameter=A required field or parameter is missing for the request The syserror.jsp file is simply: <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <TABLE border="0" cellpadding="5"> <TR> <TD><html:errors bundle="systemerrorbundle" /></TD> </TR> <TR> <TD></TD> </TR> </TABLE> The above does work. But I only get the properties file message printed. I would like to do something like this: error.servlet.illegalparameter=A required field or parameter is missing for the request {0} so that I can dynamically generate a message specific to the error. In this case I want to display whatever field is identified by the exception. So if the exception is thrown like: throw new IllegalParamsException("fieldXYZ is missing"); I would like to see "A required field or parameter is missing for the request 'fieldXYZ is missing' " Can I do this 100% in a declaritive manner? Or how can I pull this off. thanks