私は 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 宣言を修正してバンドルを見つけ、メッセージを表示するにはどうすればよいですか?
ありがとうございました。