Я знаю, что это поздний ответ, но когда-нибудь кто-то найдет его тем, что он или она искал долгое время.
Структура Struts2 устанавливает языковой стандарт по умолчанию на основе языковых настроек браузера, то есть он ищет заголовок запроса Accept-language
, и если его не найти, перейдите к свойствам struts для этого.
Итак, если вы хотите изменить локаль en_US, вы должны установить ее в параметрах браузера, задав в качестве предпочтительного языка.
Если вы хотите изменить это поведение, вы можете написать перехватчик, который установит необходимый языковой стандарт для ActionContext. Здесь ссылка на API http://struts.apache.org/maven/struts2-core/apidocs/com/opensymphony/xwork2/ActionContext.html#setLocale(java.util.Locale)
Не забудьте поставить ваш перехватчик в стек перехватчиков в файле struts.xml.
Учебник о создании собственных перехватчиков: http://www.tutorialspoint.com/struts_2/struts_interceptors.htm
Надежда, это поможет кому-то.
А потом что случилось? –
Я все еще получаю локали только как «en». Но мне нужно изменить его, потому что у меня есть файлы с именами, такими как message-resources_en_US.properties. – harry
Как вы его оцениваете? –