I agree with everything Dmitri said, but was thinking of something like
this (for a base class in the Actions package), which may be what Laine
is also suggesting:
public class DispatchExceptionAction extends Action {
public ActionForward doPerform(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// Override this class instead of perform
// and return ActionForwards in the
// usual way; but use with the alternative
// of ExceptionForwards instead of try catch
return null;
}
public ActionForward perform(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
ActionForward forward = null;
try {
forward = doPerform(mapping,form,request,response);
}
catch (Exception e) {
// Lookup exceptions here
// and set forward
// or ..
throw new ServletException(e);
}
return forward;
}
Later on, I would like to build this deeper into the framework, but
don't know how to manage the signature shift without breaking the
installed base. Perhaps a job for Struts 2 ... which might include a
signature updater ...
I'd also like for us to commit a base exception class like the one Laine
submitted, that also emulates the 1.4 chaining functionality, and any
other goodies like the ones Dmitri mentioned (any chance of donating
that?).
Dmitri - also feel free to submit your other wishes as Bugzilla
enhancements, so they do not get lost in the shuffle.
-- Ted Husted, Husted dot Com, Fairport NY USA.
-- Custom Software ~ Technical Services.
-- Tel +1 716 737-3463
-- http://www.husted.com/struts/
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>