Мой код здесь итерирует столбцы для каждой строки, и атрибут rendered
вычисляется на каждой итерации, превышая testRule
.
<p:dataTable ...>
<p:column ...>
...
</p:column>
<p:column rendered="#{managedBean.testRule('rules.canDoActions')}">
<!-- Action buttons -->
<h:commandButton ...>
<h:commandButton ...>
</p:column>
</p:dataTable>
Чтобы повысить производительность, мне было интересно установить результат впеременная, но я не знаю, как ... Это могло бы выглядеть примерно так:
<?:??? var="canDoActions" value="#{managedBean.testRule('rules.canDoActions')}">
<p:dataTable ...>
<p:column ...>
...
</p:column>
<p:column rendered="#{canDoActions}">
<!-- Action buttons -->
<h:commandButton ...>
<h:commandButton ...>
</p:column>
</p:dataTable>
Кроме того, мне не разрешено использовать Core Tag Library , что означаето том, что <c:set ../>
не может быть и речи.
В этой области как я могу установить переменную?Или, если это невозможно, что вы предлагаете решить для спектакля?