実行時にjsf faceletsファイルを条件付きで含めるにはどうすればよいですか? 必要なサンプル機能は
if ( add button click) {
ui:include src="Add.xhtml"
}
if ( update button click) {
ui:include src="Update.xhtml"
}
上記の構文は単なる目安です...
Mojarra 2.1.1 / Apache Tomcat 7.0.22 / PrimeFaces 3.4
実行時にjsf faceletsファイルを条件付きで含めるにはどうすればよいですか? 必要なサンプル機能は
if ( add button click) {
ui:include src="Add.xhtml"
}
if ( update button click) {
ui:include src="Update.xhtml"
}
上記の構文は単なる目安です...
Mojarra 2.1.1 / Apache Tomcat 7.0.22 / PrimeFaces 3.4
ui:include
には属性がないrendered
ため、他のコンポーネントにカプセル化する必要があります。また、クリックされたボタンに基づいてサーバーにいくつかのプロパティを設定します。
<h:form>
<p:commandButton value="Add" update=":includeContainer">
<f:setPropertyActionListener value="add" target="#{myBean.action}"/>
</p:commandButton>
<p:commandButton value="Update" update=":includeContainer">
<f:setPropertyActionListener value="update" target="#{myBean.action}"/>
</p:commandButton>
</h:form>
<h:panelGroup id="includeContainer">
<h:panelGroup rendered="#{myBean.action == 'add'}">
<ui:include src="add.xhtml"/>
</h:panelGroup>
<h:panelGroup rendered="#{myBean.action == 'update'}">
<ui:include src="update.xhtml"/>
</h:panelGroup>
</h:panelGroup>
バッキング Bean には、ゲッターとセッターがあります。
public void setAction(String action) {
this.action = action;
}
public String getAction() {
return action;
}