Brian,
Now that the messages are working, one other thing you might want to check is
whether your validator-based validation errors are really being captured. The
first few lines of your validate method look like they just ignore the result of
calling super.validate:
public ActionErrors validate( ActionMapping mapping,
HttpServletRequest request ) {
// this should call the validate on the automatic stuff
super.validate( mapping, request );
ActionErrors errors = new ActionErrors( );
...
return errors;
}
You probably want something more like:
public ActionErrors validate( ActionMapping mapping,
HttpServletRequest request ) {
// this should call the validate on the automatic stuff
ActionErrors errors = super.validate( mapping, request );
if (errors == null) {
errors = new ActionErrors( );
}
...
return errors;
}
Quoting Brian McSweeney <[EMAIL PROTECTED]>:
> IV,
>
> >You want to have the message key in your ActionError and struts will
> >resolve it from the ApplicationResources file for you. It is not
> something >you manually need to do.
>
> That was the problem! Thanks so much! I didn't have the message in my
> Resource bundle. Once I put it in, everything worked fine.
> I really appreciate your help!
> Brian
>
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: 02 July 2003 11:26
> To: [EMAIL PROTECTED]
> Subject: RE: <html:errors/> problems
>
>
> Brian,
>
> You want to have the message key in your ActionError and struts will
> resolve it from the ApplicationResources file for you. It is not
> something you manually need to do.
>
> However last time I tried to return a value which was not in the
> ApplicationResources file I got an exception thrown stating that it does
> not exist. Returning blank sounds strange to me. Do you have a stack
> trace saying that your message is not in this file?
>
> Regards
> IV
>
>
>
> > from: Brian McSweeney <[EMAIL PROTECTED]>
> > date: Wed, 02 Jul 2003 11:13:54
> > to: [EMAIL PROTECTED]
> > subject: RE: <html:errors/> problems
> >
> > Hi IV,
> > Thanks for the help. I gave that a go,
> > Putting the error.stuff into my resource bundle.
> > I am now getting back the bullet points for each
> > Error but still cannot see the messages at all!
> >
> > This seems nuts to me, if I look at the ActionError
> > constructor, it takes a string as it's parameter which
> > I presume is what it displays!
> >
> > So my jsp is getting the ActionError (because it outputs
> > a bullet for the bullet list). However, it just can't seem
> > to display the string!
> >
> > Any other ideas?
> > Thanks,
> > Brian
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > Sent: 02 July 2003 10:40
> > To: [EMAIL PROTECTED]
> > Subject: Re: <html:errors/> problems
> >
> >
> > Hi Brian,
> >
> > I had a problem like that when I ommited the following values from my
> > ApplicationResources file:
> >
> > errors.header = <ul>
> > errors.footer = </ul>
> > errors.prefix = <li>
> > errors.suffix =
> >
> > Once I added them it worked fine.
> >
> > Regards
> > IV
> >
> >
> > > from: Brian McSweeney <[EMAIL PROTECTED]>
> > > date: Wed, 02 Jul 2003 10:28:03
> > > to: [EMAIL PROTECTED]
> > > subject: Re: <html:errors/> problems
> > >
> > > Hi all,
> > >
> > > I'm trying to display errors on a jsp to which my form returns if
> the
> > > data submitted is invalid.
> > >
> > > My form extends org.apache.struts.validator.ValidatorForm
> > >
> > > some fields use the validator form validation, but for custom server
> > > side validation I overwrite the
> > > validate method as follows:
> > >
> > > public ActionErrors validate( ActionMapping mapping,
> > > HttpServletRequest request ) {
> > > // this should call the validate on the automatic stuff
> > > super.validate( mapping, request );
> > > ActionErrors errors = new ActionErrors( );
> > >
> > > customCheck1( getFormField1(), "messagebundle.customError1",
> > > errors );
> > > customCheck2( getFormField2(), "messagebundle.customError2",
> > > errors );
> > >
> > > return errors;
> > > }
> > >
> > > then in the same class I have my custom methods, eg:
> > >
> > > private void customCheck1( String value, String msg, ActionErrors
> > > errors ) {
> > > if ( value.equalsIgnoreCase("whatever") {
> > > String message = ResourceBundle.getBundle( "mybundle"
> > > ).getString( key )
> > > errors.add( ActionErrors.GLOBAL_ERROR , new ActionError(
> > > message ) );
> > > }
> > > }
> > >
> > >
> > > Now, I know this is getting called, due to debug that I have
> included.
> >
> > > I'm successfully getting all the error messages from the resource
> > bundle
> > > etc.
> > > In my jsp I have the following tag to try to output the ActionError
> > > messages
> > >
> > > <html:errors/>
> > >
> > > What's happening is, my jsp is being validated, but the messages
> just
> > > aren't
> > > getting outputted. I'm getting white space where the messages should
> > be,
> > >
> > > and when I look at the source I see that
> > > <br> lines are being created for (what I assume is) each
> ActionError.
> > >
> > > If anyone can give me advice/help, I'd really appreciate it.
> > > thanks,
> > > Brian
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
--
Kris Schneider <mailto:[EMAIL PROTECTED]>
D.O.Tech <http://www.dotech.com/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]