Есть JSP страница, которая использует JSTL fmt тэги. Есть файл i18n_en_US.properties, который лежит в web-inf/classes.
Почему-то не находится правильный файл ресурсов, хотя есть файл назвать просто i18n.properties, то все строковые ресурсы отображаются правильно. Язык сервера — английский, США. Все крутится под Tomcat.
В чем может быть дело? Где вообще задается локаль для JSTL fmt тэга?
Кто-то сказал когда-то давно, что людям свойственно убивать тех, кого любишь. Что ж, верно и обратное.
Здравствуйте, relgames, Вы писали:
R>Есть JSP страница, которая использует JSTL fmt тэги. Есть файл i18n_en_US.properties, который лежит в web-inf/classes.
R>Почему-то не находится правильный файл ресурсов, хотя есть файл назвать просто i18n.properties, то все строковые ресурсы отображаются правильно. Язык сервера — английский, США. Все крутится под Tomcat.
R>В чем может быть дело? Где вообще задается локаль для JSTL fmt тэга?
Она берется из реквеста, причем не из request.getLocale, а из request.getLocales, который возвращает список локалей в порядке их приоритета:
"In the browser-based locale setting, the client determines via its browser settings
which locale(s) should be used by the web application. The action retrieves the
client’s locale preferences by calling ServletRequest.getLocales() on the
incoming request. This returns a list of the locales (in order of preference) that the
client wants to use."
Если хочешь, задавать локаль сам, то используй "fmt:setLocale" или через пропертю "javax.servlet.jsp.jstl.fmt.locale".
И ваще, RTFM