私はprimefaces FieldSetコンポーネントを使用しており、フィールドセット内にボタンフィールドが指定されています。コマンド ボタンをクリックすると、ah:selectonemenu & 入力テキストが表示され、さらにクリックすると、h:selectOnemenu &inputtext が非表示になるという要件があります。以下は、表示と非表示を行うために書いたコードです。ショーの部分は正常に動作します。しかし、ボタンをクリックして非表示にしようとすると、機能しません。
xhtml コード
<h:panelGrid id="grid1" columns="3">
<p:fieldset id="GlobalAdjustment" legend="GlobalAdjustment" style="font-size:12px !important;width:30%" >
<h:commandButton id="globalAdjustID" image="#{review.imageUrl}" actionListener="#{review.showUpdateList}" />
</p:fieldset>
<h:selectOneMenu id="SelectID" value="#{review.reviewList}" rendered="#{demandReview.selectoneRenderer}">
<f:selectItems id="FilterSelectListID" value="#{review.reviewListIDs}" style="font-size:12px !important"></f:selectItems>
</h:selectOneMenu>
<h:inputText id="fieldUpdateID" required="false" rendered="#{review.inputTextRenderer}"></h:inputText>
</h:panelGrid>
ManagedBean ActionListener メソッド
public void showUpdateList(ActionEvent event)
{
System.out.println("entering the Action Method:");
Map<String, Object> idMap = new HashMap<String, Object>() ;
idMap = event.getComponent().getAttributes();
String url = (String) idMap.get("image");
System.out.println("The url is :"+url);
if(url.equals("/images/add_data_button.png")){
//upbean.setImageUrl("/images/remove_data_button.png") ;
imageUrl ="/images/remove_data_button.png" ;
selectoneRenderer = true;
inputTextRenderer = true;
}else
{
imageUrl ="/images/add_data_button.png" ;
selectoneRenderer = false;
inputTextRenderer = false;
}
}
フィールドセット内のコマンド ボタンを初めてクリックすると、正常に動作し、selectoneMenu とテキスト ボックスが表示されます。さらにクリックすると、ActionListener が呼び出されません。問題の解決を手伝ってください。
ありがとう