Java JSF和ui中的嵌套ajax:重复
罪魁祸首在这里:Java JSF和ui中的嵌套ajax:重复,java,ajax,jsf,jsf-2,facelets,Java,Ajax,Jsf,Jsf 2,Facelets,罪魁祸首在这里: <h:selectBooleanCheckbox binding="#{showMore}"> <f:ajax render="inner" /> </h:selectBooleanCheckbox> <h:panelGrid id="inner"> <h:outputText value="always" /> <h:outputText value="hidden" rend
<h:selectBooleanCheckbox binding="#{showMore}">
<f:ajax render="inner" />
</h:selectBooleanCheckbox>
<h:panelGrid id="inner">
<h:outputText value="always" />
<h:outputText value="hidden" rendered="#{not empty showMore.value and showMore.value}" />
</h:panelGrid>
更新:根据评论,使用
ui:repeat
在这里不应该构成问题。更重要的是,我已经将您的示例复制粘贴到我的游乐场环境中,并且效果良好(在Tomcat6.0.29上使用Mojarra 2.0.3)。顺便说一句,这个豆子有标记。也许是您的,并且ui:repeat
的值的加载是基于一些请求范围的条件,而这些条件在后续的ajax调用中没有保留
另见:
- -解释
@ViewScoped
- -一点历史
result\u表
的另一个rendered
属性。考虑在XHTML文件和管理bean中发布一个完整的工作,它包含了所需的最小代码来重现问题。不幸的是,我的代码在Intranet上的另一台计算机上,我不能发布完整的代码。我更改了代码并重新措辞了问题,希望它更清晰。啊,对了,您从原始示例中省略了id=“inner”
。现在你的意思更清楚了。是的,就是这样!非常感谢。我将bean更改为@ViewScoped
,它成功了。我应该仔细阅读如何为我的bean设置正确的范围。
<h:selectBooleanCheckbox binding="#{showMore}">
<f:ajax render="inner" />
</h:selectBooleanCheckbox>
<h:panelGrid id="inner">
<h:outputText value="always" />
<h:outputText value="hidden" rendered="#{not empty showMore.value and showMore.value}" />
</h:panelGrid>
<h:panelGrid id="inner" rendered="#{not empty showMore.value and showMore.value}">
<table></table>
</h:panelGrid>
<h:panelGroup id="inner">
<h:panelGrid rendered="#{not empty showMore.value and showMore.value}">
<table></table>
</h:panelGrid>
</h:panelGroup>