我觉得这违背了JSF的一般范例,但我想我会问是否有可能。
我有一个正在呈现的<rich:dataTable>
,并且对于每次迭代(行),需要进行数据库查找以确定该bean是否可编辑。麻烦的是我需要知道bean是否可以在几个位置编辑,让它为 n 。
然后问题是我必须 n 重复调用数据库。
这引出了我提出的问题:是否可以在迭代期间缓存函数调用客户端的结果?
<rich:dataTable>
<rich:column>
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<h:outputText value="#{bean.name}"/>
</rich:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Editable"/>
</f:facet>
<!-- Cache the result of the 'isEditable' function call -->
<h:outputText value="#{mylib:isEditable(bean) ? 'Yes' : 'No'}"/>
</rich:column>
<!-- More content which requires the editable value -->
</rich:dataTable>
任何帮助都非常感激。
答案 0 :(得分:-1)
如果bean对象中有此值,则可以应用:
<h:outputText value="Yes" rendered="#{bean.isEditable=='YES'}" />
<h:outputText value="No" rendered="#{bean.isEditable=='NO'}" />