Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 有条件呈现selectItem的更新不起作用_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 有条件呈现selectItem的更新不起作用

Jsf 2 有条件呈现selectItem的更新不起作用,jsf-2,primefaces,Jsf 2,Primefaces,我想知道为什么更新表单不会更新有条件呈现的selectItem。commandButton(用于测试)按预期正确更新 <h:form id="form"> <h:selectOneMenu id="selectedGroupId" label="#{msgs.group_group}" value="#{groupBean.selectedGroupId}"> <p:ajax event="change" listener="#{groupB

我想知道为什么更新表单不会更新有条件呈现的selectItem。commandButton(用于测试)按预期正确更新

<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>

有没有任何迹象表明我做错了什么

谢谢

Jonny

对于
f:selectItem
,没有
呈现的
属性


根据,您可以使用
作为包装,也可以在操作方法中修改
f:selecItems
列表。

对于
f:selectItem
,没有
呈现的
属性


根据,您可以使用
作为包装,或者在操作方法中修改
f:selecItems
列表。

嗨,Matt,谢谢您的回答。我使用的是MyFaces2.1.7,UISelectItem有一个渲染属性<代码>公共类UISelectItem扩展了javax.faces.component.UIComponentBase{…//开始从javax.faces.component复制的代码。_UISelectItem公共void setRendered(布尔状态){super.setRendered(state);…}
还是我又错了?Jonny顺便说一句:它工作起来很有魅力(但如果存在渲染属性,我仍然希望使用该属性)。非常感谢MattOk,我查看了Mojarra api文档。所以这有点不同。我还迫切需要一个属性,如itemRendered for f:selectItem。但似乎大多数专家都想在backing controller中实现它,但我仍然认为它是一个非常有用的属性。我发布了一个链接。嗨,Matt,谢谢你的回答。我正在使用MyFaces 2.1.7并且UISelectItem有一个呈现属性。
public类UISelectItem扩展了javax.faces.component.UIComponentBase{…//开始从javax.faces.component复制的代码。_UISelectItempublic void setRendered(布尔状态){super.setRendered(状态);…}
还是我又错了?JonnyAnd顺便说一句:效果很好(但如果有渲染属性的话,我还是想使用渲染属性)。非常感谢MattOk,我查看了Mojarra api文档。所以这在某种程度上有所不同。我还迫切需要一个属性,如itemRendered for f:selectItem。但似乎大多数专家都希望在backing controller中实现它,但我仍然认为它是一个非常有用的属性。我发布了一个链接。