David, Perhaps you missed my -1 on providing a means of saving errors in session scope unless an *automatic* means of removing them at the appropriate time can also be provided.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=21408 -- Martin Cooper <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > dgraham 2003/08/19 16:20:46 > > Modified: src/share/org/apache/struts/action Action.java > Log: > Added version of saveMessages() that saves them into the session > instead of the request. > > Revision Changes Path > 1.67 +33 -8 jakarta-struts/src/share/org/apache/struts/action/Action.java > > Index: Action.java > =================================================================== > RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/action/Action.java,v > retrieving revision 1.66 > retrieving revision 1.67 > diff -u -r1.66 -r1.67 > --- Action.java 2 Aug 2003 21:12:16 -0000 1.66 > +++ Action.java 19 Aug 2003 23:20:45 -0000 1.67 > @@ -431,15 +431,16 @@ > > } > > - > /** > * Save the specified messages keys into the appropriate request > * attribute for use by the <html:messages> tag (if > * messages="true" is set), if any messages are required. Otherwise, > * ensure that the request attribute is not created. > * > - * @param request The servlet request we are processing > - * @param messages Messages object > + * @param request The servlet request we are processing. > + * @param messages The messages to save. <code>null</code> or empty > + * messages removes any existing ActionMessages in the request. > + * > * @since Struts 1.1 > */ > protected void saveMessages( > @@ -454,9 +455,33 @@ > > // Save the messages we need > request.setAttribute(Globals.MESSAGE_KEY, messages); > - > } > + > + /** > + * Save the specified messages keys into the appropriate session > + * attribute for use by the <html:messages> tag (if > + * messages="true" is set), if any messages are required. Otherwise, > + * ensure that the session attribute is not created. > + * > + * @param session The session to save the messages in. > + * @param messages The messages to save. <code>null</code> or empty > + * messages removes any existing ActionMessages in the session. > + * > + * @since Struts 1.2 > + */ > + protected void saveMessages( > + HttpSession session, > + ActionMessages messages) { > + > + // Remove any messages attribute if none are required > + if ((messages == null) || messages.isEmpty()) { > + session.removeAttribute(Globals.MESSAGE_KEY); > + return; > + } > > + // Save the messages we need > + session.setAttribute(Globals.MESSAGE_KEY, messages); > + } > > /** > * Save a new transaction token in the user's current session, creating --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]