Hi all

Till now, all JSP pages in our application had to have the following header
for internationalization:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"; %>
<fmt:setLocale value="${currentLocale}"/>
<fmt:setBundle basename="ch.xobix.i18n.translations.X2Resources"
var="bundle" scope="page"/>

Then a message would be output like this:
<fmt:message key="longWeekday_0" bundle="${bundle}"/>

Note that "currentLocale" is set by the controller, and
ch.xobix...X2Resources is a class that loads the messages from a database
table.
This works well, however I think it's tedious for the web designer to do
this manually all the time.

My goal is to have the following:
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"; %>

And the message output like this:
<fmt:message key="longWeekday_0"/>

So I tried to set it in the controller, as described in "JSTL in Action". I
managed to set the Locale right, but I don't know how to do the same with
the resources. First I tried according to the book to create a
ResourceBundle and a Locale and set JSTL's FMT_LOCALIZATIONCONTEXT (does
anyone know why this is written like this?). Didn't work...

Now I've seen that I can change the web.xml to read
<web-app>
   ...
   <context-param>
 
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
      <param-value>ch.xobix.i18n.translations.X2Resources</param-value>
   </context-param>
   ...
</web-app>

Now, in the controller, I set the Locale with
Config.set(this.getRequest(), Config.FMT_LOCALE, <the language code> );

and I see it in Tomcat's output:
DEBUG  - Request: javax.servlet.jsp.jstl.fmt.locale = it   (when changing to
Italian)

BUT the message itself doesn't change!

What am I doing wrong? Or how should I do it right?

Also, has anyone of you succeeded in dynamically changing resources? Right
now, when someone enters a new key in the database, we have to restart
Tomcat.


Thanks for any help!
Eric


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to