File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Struts and the fly likes adding ActionMessages direct from JSP ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "adding ActionMessages direct from JSP ?" Watch "adding ActionMessages direct from JSP ?" New topic

adding ActionMessages direct from JSP ?

John Stein

Joined: Jan 26, 2006
Posts: 4
Hi there,

I'm wondering if there is any way to add an ActionMessage directly from a JSP (as opposed to in the action). Is there any tag based solution to this (I'm not using scriptlets) ?

I tried writing a custom tag solution myself e.g. :

[in handler....]

ActionMessage newMessage = new ActionMessage("");
ActionMessages messages = (ActionMessages)pageContext.getRequest().getAttribute(Globals.MESSAGE_KEY);
messages.add("message", newMessage);


This was throwing an exception at messages.add(), not sure if its because I was adding a message with no value, or if it just can't be done from here.

The key value I was adding was not being looked up in the resource file (not sure if this happens on saveMessages in the action class).

Thanks in advance for any help.

Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
Here are a few suggestions:

1- There may or may not be an existing ActionMessages object in the request, so your messages variable may be null. Just instantiate a new one if it's null.

2- When you've added your message to the ActionMessages object, put it in request scope with Globals.MESSAGE_KEY as the key. This isn't necessary if the object was already there, but it is necessary of you're instatiating a new one.
[ January 26, 2006: Message edited by: Merrill Higginson ]

Consultant, Sima Solutions
John Stein

Joined: Jan 26, 2006
Posts: 4
d'oh ! can't see the wood for the trees scenario!

I was so busy worrying about the underlying complexities of ActionErrors, I didn't check whether the object was already in scope.

Works a charm. Thanks for your help.

[ January 27, 2006: Message edited by: John Stein ]
I agree. Here's the link:
subject: adding ActionMessages direct from JSP ?
It's not a secret anymore!