Struts <html:errors/>

Hi

I'm trying to use the <html:errors/> tag.

- I have a page where I have put the tag.

<html:errors/>

- In struts-config.xml I have defined the resource bundle for the error messages.

<message-resources parameter="tm-struts-messages" null="false"></message-resources>

- In the Struts action I add the error to the request with the following code.

errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("field.empty"));

if (errors.size() > 0) {
saveErrors(request, errors);
}

- The resource bundle contains the key "field.empty".

- But the problem is that on the page I get the following error message (not the text in the resource bundle):

???en_US.field.empty???

<b>What's the problem?</b>
mbutuAsked:
Who is Participating?
 
_marko_Commented:
Hi mbutulito ;)

I once had a similar problem. I had three languages: English, Finnish and Swedish in the following files:

ApplicationResources.properties <-- english
ApplicationResources_fi.properties <-- finnish
ApplicationResources_se.properties <-- swedish

I had to change ApplicationResources.properties into ApplicationResources_en.properties in order to get everything going my way. Since your app complains of "en_US" you might want to rename "tm-struts-messages.properties" into "tm-struts-messages_en_US.properties".

I'm not this is the problem in your case but it's definately worth a shot.


Regards,

Marko
0
 
TimYatesCommented:
Try adding in web.xml -- inside the

  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

bit,

    <init-param>
      <param-name>application</param-name>
      <param-value>tm-struts-messages</param-value>
    </init-param>

and changing:

<message-resources parameter="tm-struts-messages" null="false"></message-resources>

to

<message-resources parameter="resources.application"/>

This is the way I've got mine set up, and it seems to work fine :-)

Hope this helps :-)

Tim
0
 
mbutuAuthor Commented:
Tried it but it did not help.
0
Cloud Class® Course: Amazon Web Services - Basic

Are you thinking about creating an Amazon Web Services account for your business? Not sure where to start? In this course you’ll get an overview of the history of AWS and take a tour of their user interface.

 
KartikShahCommented:
Hi,

If you are using Struts 1.1, you will need to change the following line

------
<message-resources parameter="tm-struts-messages" null="false"></message-resources>
------

Try to place the resource file under the classes folder, and reference it like a class name as one does it in ResourceBundle class.

E.g.You have placed the file tm-struts-messages.properties in ... WEB-INF/classes/com/temp/resources

then the tage should be like

------
<message-resources parameter="com.temp.resources.tm-struts-messages"></message-resources>
------

Hope this helps

Kartik
0
 
mbutuAuthor Commented:
Hi

I've checked and the file is in the /WEB-INF/classes folder.
It's not inside a package so therefore I don't put the package name in front of the file name.

Mbutu

0
 
mbutuAuthor Commented:
You are fantastic _marko_ I've never met a Struts expert like you. Thank you so much. Now I won't get fired from the project. Can I send you a small gift. I'm considering a couple of hundred dollars as a gift to you _marko_. For saving me and my family. Do you accept PayPal.

Yours truly
Mbutu and family
0
 
_marko_Commented:
Hahaha :) You're welcome.



(I know mbutu IRL, he's being sarcastic)
0
 
TimYatesCommented:
:-D
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.