Использование динамически сгенерированного пакета в JSF 1.2 - PullRequest
1 голос
/ 14 марта 2012

Мое веб-приложение требует ResourceBundle, который создается динамически. Можно ли как-то толкнуть его внутрь FacesContext (или где-то еще, если на то пошло), чтобы оно позже было доступно из представления в виде статического RB? Например:

<h:outputText value="#{myDynaBundle['key.inside.dynamic.rb']}" />

Под статическим RB я подразумеваю пакет, определенный в app-config.xml, например:

<resource-bundle>
    <base-name>messages</base-name>
    <var>msg</var>
</resource-bundle>

1 Ответ

2 голосов
/ 14 марта 2012

Создайте класс, который extends ResourceBundle, и сделайте его управляемым компонентом.

* 1006 Е.Г. *

public class MyDynaBundle extends ResourceBundle {

    @Override
    protected Object handleGetObject(String key) {
        // Implement bundle value retrieval by key.
    }

    @Override
    public Enumeration<String> getKeys() {
        // If necessary, implement retrieval of all valid keys.
    }

}

который зарегистрирован как

<managed-bean>
    <managed-bean-name>myDynaBundle</managed-bean-name>
    <managed-bean-class>com.example.MyDynaBundle</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
</managed-bean>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...