Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
1

JSF localization

25.11.2013, 21:06. Показов 1723. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не работает локализация. Сделал все по туториалу из сайта
не малоизвестного китайца.
Вот отрывок из faces-config.xml:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
    <application>
        <locale-config>
            <default-locale>en</default-locale>
            <supported-locale>ru</supported-locale>
        </locale-config>
        <resource-bundle>
            <base-name>com.bionic.ewallet.internationalization.eWallet</base-name>
            <var>msg</var>
        </resource-bundle>
    </application>



Вот header c переключением языка:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
    <h:body>
        <ui:composition>
            <h:form>
                <h:selectOneMenu value="#{bundle.localeCode}" onchange="submit()"
                                 valueChangeListener="#{bundle.countryLocaleCodeChanged}">
                    <f:selectItems value="#{bundle.countriesInMap}" /> 
                </h:selectOneMenu>
                <p:commandButton action="#{mainbean.logout()}" value="Logout"/>
            </h:form>
        </ui:composition>
    </h:body>



Вот сама страница:
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
   <h:body>
        <ui:composition template="/maintemplate.xhtml">
            <ui:define name="content">
                <p:outputLabel value="#{msg['welcome']}, #{mainbean.account.login}"/><br/>
                <p:outputLabel value="Your balance, #{mainbean.account.walletId.balance}"/>
 
            </ui:define>
        </ui:composition>
    </h:body>



Вот LocalizationBean:
Кликните здесь для просмотра всего текста
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.bionic.ewallet.managedbean;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
 
@ManagedBean(name = "bundle")
@SessionScoped
public class LocalizationBean implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    private String localeCode;
    
    private static Map<String, Object> countries;
    
    static {
        countries = new LinkedHashMap<>();
        countries.put("Russian", new Locale("ru", "RU"));
        countries.put("Englsh", new Locale("en","UK"));
    }
    
    public Map<String, Object> getCountriesInMap() {
        return countries;
    }
    
    public String getLocaleCode() {
        return localeCode;
    }
    
    public void setLocaleCode(String localeCode) {
        this.localeCode = localeCode;
    }
    
    public void countryLocaleCodeChanged(ValueChangeEvent e) {
        String newLocaleValue = e.getNewValue().toString();
        for (Map.Entry<String, Object> entry : countries.entrySet()) {
            if (entry.getValue().toString().equals(newLocaleValue)) {
                FacesContext.getCurrentInstance()
                        .getViewRoot().setLocale((Locale) entry.getValue());
                
            }
        }
    }
}


Вроде все есть. Локализация работает только до перезагрузки страницы.
Хотя и управляющий бин стоит в @SessionScoped
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2013, 21:06
Ответы с готовыми решениями:

Hibernate localization one field
Общие описание 0)имеем несколько языков, одно поле для локализации, какие варианты его сохранить и...

GWT UIBinder localization
Есть задание тестовое для приема на работу. Возникают проблемы с работой messages.properties, а...

JSF 2.0
Можно ли в JSF 2.0 вызвать нажатие кнопки?

JSF 2.0
Можно ли в &lt;h:inputText&gt; вывести значение поля?

2
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
26.11.2013, 13:12 2
у немалоизвестного китайца есть возможность скачать исходники и проверить что ты не так сделал.
0
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
26.11.2013, 13:46  [ТС] 3
gredwhite, так и делал. Ничего не помогло.
На самом деле у него в коде на странице не хватает
строчки типа <f:view locale="#{bean.locale}">
0
26.11.2013, 13:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2013, 13:46
Помогаю со студенческими работами здесь

JSF + JS
Все привет. Интересует как из кода JS можно обратится к методу бина.. Мне это необходимо для...

JSF 2.0
Возможно ли в JSF сделать ComboBox (чтобы можно было вводить свои значения).

JSF primefaces
Здравствуйте. В этой сфере новичок, возможно такая тема уже была, но всё же. Есть форма логина ...

JSF и GET - запросы
Здравствуйте! Меня интересует вопрос: поддерживает ли технология JSF get-запросы? Если да, то как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru