我使用JSF 1.2_09, rich faces 3.3.3, JSF -facelets 1.1.14。
看起来rich:menuItem
中的rendered
属性无法从参数enableEdit
中读取boolean
值…即使enableEdit
具有true
值,rich:menuItem
也不会呈现(不可见)。
有谁知道解决方案,这是旧jsf的一个bug吗?
<h:form id="mainId">
<rich:contextMenu attached="false" id="conMenu" hideDelay="400" disableDefaultMenu="false">
<rich:menuItem action="#{foo.edit}" rendered="{enableEdit}">
<h:outputText value="Edit" />
<a4j:actionparam assignTo="#{someBean.id}" value="{myId}" />
</rich:menuItem>
<rich:menuItem action="#{foo.viw}" rendered="true">
<h:outputText value="View" />
<a4j:actionparam assignTo="#{someBean.id}" value="{myId}" />
</rich:menuItem>
</rich:contextMenu>
<h:panelGrid columns="1">
<rich:dataTable id="tableId" value="#{someBean.results}" var="tableIter" rowClasses="oddTableRow,evenTableRow">
...
...
<rich:componentControl event="onRowClick" for="conMenu" operation="show" params="">
<f:param value="#{tableIter.id}" name="myId" />
<f:param value="#{!tableIter.locked}" name="enableEdit" />
</rich:componentControl>
</rich:dataTable>
</h:panelGrid>
</h:form>
趁
try
<h:outputText rendered="{enableEdit}">
<rich:menuItem action="#{foo.edit}">
<h:outputText value="Edit" />
<a4j:actionparam assignTo="#{someBean.id}" value="{myId}" />
</rich:menuItem>
</h:outputText>
try:
<rich:menuItem action="#{foo.edit}" rendered="{param.enableEdit}">