Как изменить свойства MessageResources для разных локалей в Struts 1?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить свойства MessageResources для разных локалей в Struts 1?

Сообщение Anonymous »

У меня есть веб-приложение. Для многоязычности я использую Java Struts 1.3 с MessageResources. Язык по умолчанию — итальянский (

Код: Выделить всё

MessageResources.properties
), а второй язык — английский (

Код: Выделить всё

MessageResources_en.properties
).
в struts-config.xml: в моем index.jsp:

Код: Выделить всё

var lang = '';

в js/language.js:

Код: Выделить всё

$(document).ready(function() {
var browser = null;
var val = navigator.userAgent.toLowerCase();
if(val.indexOf("firefox") > -1) browser = 'FIREFOX';
else if(val.indexOf("msie") > -1) browser = 'IE';
else if(val.indexOf("chrome") > -1) browser = 'CHROME';

$.ajax({
url:"SetDefaultLanguage.do",
data: "isolingua="+lang+"&browser="+browser+"&val="+val,
success: function (response) {}
});
});
в SetDefaultLanguage.java:

Код: Выделить всё

//parametro del browser
if(request.getParameter("isolingua") != null)
{
isolingua = request.getParameter("isolingua");

switch (isolingua)
{
case "en":
request.getSession().setAttribute("lingua", 2);
Locale.setDefault(Locale.ENGLISH);
request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.ENGLISH);
System.out.println("CASE EN: "+Locale.getDefault()+" - "+request.getSession().getAttribute(Globals.LOCALE_KEY));
break;

case "it":
request.getSession().setAttribute("lingua", 1);
Locale.setDefault(Locale.ITALIAN);
request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.ITALIAN);
System.out.println("CASE IT: "+Locale.getDefault()+" - "+request.getSession().getAttribute(Globals.LOCALE_KEY));
break;

default:
request.getSession().setAttribute("lingua", 1);
Locale.setDefault(Locale.ITALIAN);
request.getSession().setAttribute(Globals.LOCALE_KEY, Locale.ITALIAN);
System.out.println("CASE DEFAULT: "+Locale.getDefault()+" - "+request.getSession().getAttribute(Globals.LOCALE_KEY));
break;
}

}
установив в качестве языка браузера «итальянский», он печатается всегда

Код: Выделить всё

CASE IT: it - it
но вот это странное поведение: мои страницы индексирования, регистрации или получения пароля могут быть:
  • все на итальянском языке
  • индексация и получение пароля на итальянском языке и регистрация на английском языке
  • все на итальянском языке и просто несколько слов о получении пароля и регистрации на английском языке
  • ...
    когда я перезапускаю Tomcat, он заново показывает все страницы на итальянском языке
other информация:
  • после входа в систему приложение кажется безопасным от этой странной проблемы.
  • Приложение размещено в виртуальный сервер с английской ОС
  • Когда я пробую приложение на своем локальном компьютере (с итальянская ОС) такой проблемы не возникает
  • Код: Выделить всё

    request.getSession().setAttribute("lingua", )
    используется в сервлетах для получения информации в базу данных на правильном языке; это всегда работает правильно.


Подробнее здесь: https://stackoverflow.com/questions/262 ... n-struts-1
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как получить строку из разных локалей в Android?
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как получить строку из разных локалей в Android?
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Преобразование чисел в их локали не работает для некоторых локалей с использованием icu4j jar
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Список всех локалей и их коротких кодов?
    Anonymous » » в форуме Php
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как изменить значение свойства переменной области сеанса с помощью OGNL в Struts 2?
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»