2012-04-27 5 views
1

私は、フォームを更新しても条件付きレンダリングされたselectItemは更新されないのではないかと思います。 commandButton(テスト目的)は、期待どおり正しく更新されます。条件付きレンダリングされたselectItemの更新が機能しない

<h:form id="form"> 
    <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" value="#{groupBean.selectedGroupId}"> 
     <p:ajax event="change" listener="#{groupBean.selectGroupEvent}" update=":form"/> 
     <f:selectItem rendered="#{empty groupBean.selectedGroupId}" itemLabel="#{msgs.global_select_select}" /> 
     <f:selectItems value="#{groupBean.availableGruppen}" /> 
    </h:selectOneMenu> 
    <p:commandButton value="Test" actionListener="#{groupBean.test}" rendered="#{empty groupBean.selectedGroupId}"/> 
</h:form> 

ここで間違っていることは何ですか?

おかげ
ジョニー

答えて

1

f:selectItemにはrendered属性がありません。

this answerによると、代わりに<c:if>をラッパーとして使用するか、アクションメソッドでf:selecItemsのリストを変更することができます。

+0

こんにちはマット、あなたの答えをありがとう。私はMyFaces 2.1.7を使用しており、UISelectItemのレンダリングされた属性があります。 'パブリッククラスUISelectItemはjavax.faces.component.UIComponentBase { ... //はjavax.faces.component._UISelectItem setRendered公共ボイド(ブール状態) {super.setRendered(状態)からコピーされたコードをBEGIN延びています。 ... }「また間違っていますか? Jonny – user871611

+1

そして、ところで:は魅力的に機能しました(しかし、私はまだレンダリングされた属性があればそれを使用したいと思います)。ありがとうございましたMatt – user871611

+0

私はMojarra api docを調べました。これはどういうわけか違います。 –