使用: JSF 1.2、Facelets 1.1.15、GateIn 3.1 GA、Richfaces 3.3.3
.xhtml
ポートレットが参照できる JAR に共通のバッキング Bean がいくつかあります。他の投稿で説明されているように、ResourceResolver をオーバーライドしてこれを行いました。
ポートレットは XHTML をロードし、バッキング Bean を使用できます。
ここに私の問題があります: で定義されたメッセージを置き換える xhtml を取得できませんmessages_en.properties
。/lib
プロパティファイルをJARの外に移動し、フォルダーに直接配置しようとしました。また、名前の前に a を付けて/
、リゾルバーに見つけさせようとしました。コンポーネントフォルダにも入れました。
一般的な jar 情報は次のとおりmy-portlet-common-resources.jar
ですserver/my-portal/lib
。jar は次のように構成されています。
- com/portlet/common/CustomResourceResolver.class
- com/portlet/common/FilterCreateBean.class - 共通ポップアップのバッキング Bean
- messages_en.properties
- 顔-config.xml
- META-INF/components/commonPopups.xhtml
- META-INF/faces-config.xml - FilterBean を宣言します
- META-INF/Manifest.mf
faces-config.xml
コンテンツ:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<application>
<locale-config>
<default-locale>en</default-locale>
</locale-config>
<message-bundle>/messages_en.properties</message-bundle>
</application>
<managed-bean>
<managed-bean-name>FilterCreateBean</managed-bean-name>
<managed-bean-class>com.portlet.common.FilterCreateBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
メッセージを含めますcommonPopups.xhtml
(一部省略):
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<a4j:loadBundle basename="messages" var="msgs"/>
<rich:panel style="border-style:none;" id="addNewChainPanel">
<rich:modalPanel id="modalNewChainPanel" autosized="true">
<f:facet name="header"><h:outputText value="#{msgs['filterset.modal.new.title']}" /></f:facet>
</ui:composition>