我们有以下丰富的:ComponentControl:
<rich:componentControl event="onRowClick" for="ctxMenu" operation="show">
<f:param value="#{item.hasDocuments}" name="hasDocuments" />
</rich:componentControl>
#{item.hasDocuments} 的值已成功从 bean 传递为 true 或 false。
这是上下文菜单,它应该有条件地显示该项目:
<rich:contextMenu id="ctxMenu" submitMode="ajax" attached="false">
<rich:menuItem ajaxSingle="true" value="View Documents oncomplete="#{rich:component('documentsMenu')}.doShow(event, {})" reRender="documentsMenu" rendered="#{hasDocuments}">
<a4j:actionparam name="selectedApplicationId" value="#{applicationId}" assignTo="#{activeAppsForm.applicationId}" />
</rich:menuItem>
</rich:contextMenu>
问题是它总是隐藏链接,即使 {hasDocuments} 为 true 也是如此。 我的猜测是,{hasDocuments} 的值被视为字符串而不是 boolean 值,因此呈现的值始终为 false。
关于如何解决这个问题有什么想法吗?
最佳答案
我花了 2 个小时解决了这个问题。但最终还是解决了。请尝试以下操作:
rendered="#{hasDocuments == 'true'}"
关于java - 从 rich :ComponentControl in order to render rich:menuItems 传递 boolean 值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3737378/