次のように、すべてのビューでバンドルにアクセスしたい場合は、でバンドルを宣言するfaces-config.xml
必要があります。
<application>
<resource-bundle>
<base-name>path-to-your-resource-bundle</base-name>
<var>bundle</var>
</resource-bundle>
</application>
ビューでアクセスできるように
<h:outputText value="#{bundle['myBean.myMessage']}" />
または、ビューに直接ロードします
<f:loadBundle basename="path-to-your-resource-bundle" var="bundle" />
<body>
<h:outputText value="#{bundle['myBean.myMessage']}" />
</body>
いずれにせよ、リソース バンドルには、メッセージの名前と値のペアを含む文字列が含まれている必要があります。
myBean.myMessage = This is my message
また、リソース バンドルはsrc/main/resources
プロジェクトのフォルダーに配置する必要があることにも注意してください。したがって、bundle.properties
上記のフォルダーにbase-name
はbundle
.
使用に関して:
- メッセージ バンドル自体の文字列を使用します。
<h:outputText value="#{bundle['myBean.myMessage']}" />
バンドルから目的の文字列に評価されるマネージド Bean のプロパティを使用します<h:outputText value="#{bundle[myBean.myMessage]}" />
。
@ManagedBean
@...Scoped
public class MyBean {
private String myMeggase = "bundle.string";//getter + setter
}
に値を格納します<ui:param>
。これは、テンプレート化に役立つ場合があります。
<ui:param name="bndl" value="#{myBean.myMessage}"/>
<h:outputText value="#{bundle[bndl]}" />
同じマネージド Bean を使用します。