Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 11884
  • Last Modified:

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>
0
mbutu
Asked:
mbutu
  • 3
  • 2
  • 2
  • +1
1 Solution
 
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
 
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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
 
_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
 
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

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 3
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now