You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Jim Kennedy <ji...@gigaheads.com> on 2003/10/29 19:13:42 UTC

Exception handling 100% declarative

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

Pre-populating html:select from request object

Posted by Leon King <le...@mci.com>.
I'm trying to pass data between different struts forms.  Below I've tried to
pre-populate a select statement from data stored in the request but I get a
compilation error (" Attribute outageEndDateFromMonth has no value " ).

<html:select property="outageEndDateFromMonth" value="<%=
request.getAttribute("outageEndDateFromMonth") %>" >
        <html:options collection="monthList" property="value"
labelProperty="label" />
</html:select>


Any suggestions on how this can be achieved?

Thanks

Leon


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org