primefacesを用いたwebアプリケーションの開発を行っております。
layoutコンポーネントを用いており、position="west",position="east"にcommandbuttonを置いており、それらのボタンのクリック毎にposition="center"の位置に各コンポーネントを表示しようと思っております。
しかし、各ボタンをクリックしてもリロードをしなければそれぞれのコンポーネントが表示されない状況になっております。
今現在表示の切替はrenderedでヘッダに指定したテキストが入れば表示するという形をとっております。
コードは都合上現在書けない状況なので後ほど追記いたしますが、もしこの説明のみで原因のわかる方がいらっしゃいましたらご回答の方よろしくお願いいたします。
mainMenu.xhtml
1<h:form id="mainForm"> 2 <p:layout id="layout" fillPage="true"/> 3 <p:layoutUnit position="north" size="120"> 4 <h:outputText value="タイトル"/> 5 </p:layoutUnit> 6 <p:layoutUnit position="south" size="50"/> 7 <p:layoutUnit position="west" size="250"> 8 <p:commandButton value="#{dictionary.conversion('スケジュール')}" 9 action="#{menuController.updateCen}" update=":mainForm:layout"/> 10 </p:layoutUnit> 11 <p:layoutUnit position="east" size="250"/> 12 <p:layoutUnit position="center"> 13 <p:schedule rendered="#{menuController.text='スケジュール'}" 14 view="basicWeek" timeZone="GMT+2"> 15 <f:facet name="header"> 16 <h:outputText value="#{menuController.text}"/> 17 </f:facet> 18 </p:schedule> 19 </p:layoutUnit> 20コード
menuController.java
1import java.io.Serializable; 2import javax.enterprize.context.SessionScoped; 3import javax.inject.Named; 4 5@Named 6@SessionScoped 7public class MenuController implements Serializable { 8 private static final long serialVersionUID = .............; 9 private String text = null; 10 public String getText() { 11 return text; 12 } 13 public void setText(String text) { 14 this.text = text; 15 } 16 public String updateCen() { 17 try { 18 if(text != "スケジュール") { 19 text = "スケジュール"; 20 } else if(text == "スケジュール") { 21 text = null; 22 } 23 } catch(NumberFormatException e) { 24 text = "Invalid Data"; 25 } 26 return ""; 27 } 28コード
あなたの回答
tips
プレビュー