java - 从 rich :ComponentControl in order to render rich:menuItems 传递 boolean 值时出现问题

标签 java jsf richfaces

我们有以下丰富的: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/

相关文章:

java - 尝试编译测试Javafx应用程序时出错

java - 为什么这段代码会给出线程优先级的输出?

java - 如何从 Modbus 读取长(交换)值?

jsf - Fileupload fileUploadListener 仅在每秒按下一次按钮时调用

jsf - 为什么我的 p :progressBar not displayed, 只有数字?

javascript - RichFaces extendedDataTable 滚动条在调整屏幕大小后才会显示

java - 客户端锁定

jsf - 将不可序列化的应用程序范围 bean 作为集群中可序列化 session 范围 bean 的托管属性注入(inject)

java - 为什么f是:param returning null?

jsf - JSF、RichFaces 中的 LimitToList 是什么?它在 RichFaces 4.x 中被删除了吗?