Hi,
I wrote a LocaleInterceptor to catch the language from request URL path, either
German or Englisch. Output contains language specific fields from database.
Unfortunately, after server restart the first call has always German output.
What I learned from debugging:
I18nInterceptor.class is first called, then my LocaleInterceptor where I set
session.setAttribute("WW_TRANS_I18N_LOCALE", Locale.US).
Then I18nInterceptor.class again with: Object sessionLocale =
invocation.getInvocationContext().getSession().get(attributeName) => NULL =>
locale = super.read(invocation) => set to "de" (I guess, my laptop's default)
Then myAction class is called, routing to a jsp that creates output with the
help of a custom tag. This uses
ActionContext.getContext().getLocale().getLanguage().toUpperCase() => DE.
All works fine for second and further calls because there is no call to
I18nInterceptor.class before my LocaleInterceptor.
When I18nInterceptor.class is called => Object sessionLocale =
invocation.getInvocationContext().getSession().get(attributeName) =>
sessionLocale is set to en_US
What can I do?
Maybe WW_TRANS_I18N_LOCALE,
invocation.getInvocationContext().getSession().get(attributeName) and
ActionContext.getContext().getLocale() are not the same?
Best regards Ute
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]