0

私は JSF の messages.properties を war の外に移動して、QA と運用担当者が新しい war を生成せずにメッセージを変更できるようにします。

JBoss 7 モジュールを作成し、messages.properties ファイルを $JBOSS_HOME/modules/com/acme/revenue/main/messages.properties に配置しました。jboss-deployment-structure.xml を更新して含めるようにしました

<module name="com.acme.revenue"/>

そして、$JBOSS_HOME/modules/com/acme/revenue/main に module.xml ファイルを配置しました。を含む:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.acme.revenue">
    <resources>
        <resource-root path="."/>
    </resources>
</module>

これはすべて機能します。私が呼び出すことができるJavaコードで:

ResourceBundle bundle = ResourceBundle.getBundle("messages", Locale.getDefault());
bundle.getString("TargetingKey") 

翻訳された値 "Income Targeting" を返します。ただし、JSF .xhtml ファイルのコードでは #{messages.TargetingKey} を呼び出しますが、JSF がリソース バンドルを見つけられないように見えるため、機能していません。

変更前は、faces-config.xml に次のものが含まれていて、正常に機能していました。

<resource-bundle>
    <base-name>com.acme.revenue.messages</base-name>
    <var>messages</var>
</resource-bundle>

この JSF 宣言を修正してバンドルを見つけ、メッセージを表示するにはどうすればよいですか?

ありがとうございました。

4

1 に答える 1