我们有以下rich:ComponentControl:

<rich:componentControl event="onRowClick" for="ctxMenu" operation="show">
<f:param value="#{item.hasDocuments}" name="hasDocuments" />
</rich:componentControl>


#{item.hasDocuments}的值已成功从Bean传递为true或false。

这是应该有条件显示项目的contextMenu:

<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}的值被视为字符串而不是布尔值,因此呈现的始终为false。

关于如何解决此问题的任何想法?

最佳答案

我花了2个小时来解决此问题。但最终解决了。请尝试以下操作:

rendered="#{hasDocuments == 'true'}"

关于java - 从rich:ComponentControl传递 boolean 值时出现问题,以呈现rich:menuItems,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3737378/

10-12 01:31