Как я могу получить возвращенное значение из функции на странице.jsf adf 12c?
Я вызываю функцию при загрузке страницы (страница.jsf программно), и она работает нормально, но функция возвращает (0 или 1) строковое значение. Я хочу показать или скрыть кнопки на основе возвращаемого значения на странице JSF.
Как я могу получить возвращаемое значение на странице.jsf?
Как я могу применить логику показа и скрытия на основе возвращаемого значения?
Вот как я вызываю функцию при загрузке страницы
<f:metadata>
<?audit suppress oracle.ide.xml.validation-error?>
<f:event type="preRenderView" listener="#{backingBeanScope.backing_login.viewPrivilidge('Program')}"/>
</f:metadata>
Вот код кнопки, к которой я хочу применить логику
<af:button text="Supplier" id="b4" inlineStyle="width:190px;"
destination="Supplier_Setup.jsf" icon="#{resource['images:supplier.png']}"/>
Я использую страницу.jsf в ADF 12C.
2 ответа
Только вам нужно вызвать функцию в атрибуте рендеринга этого тега, где вы хотите применить логику
<af:button text="Supplier" id="b4" inlineStyle="width:190px;"
rendered="#{backingBeanScope.backing_login.viewPrivilidge('Program') == '1'}" destination="Supplier_Setup.jsf" icon="#{resource['images:supplier.png']}"/>
"#{backingBeanScope.backing_login.viewPrivilidge('Program') == '1'}" .......... если возвращаемое значение равно '1', оно будет отображаться, в противном случае оно не будет отображаться
Будьте осторожны с использованием Rendered. Rendered = false предотвращает создание любой разметки для этого компонента. Это означает, что вы не можете просто установить rendered = true для компонента и ожидать его появления - этого не произойдет. В этом случае вы должны обновить содержащий менеджер макета, чтобы заставить его отображать. Вы, вероятно, хотите, чтобы Visible = false здесь, тогда для компонента генерируется разметка, и установка visible = true заставит компонент появиться.
Рендеринг часто зарезервирован для защищенных компонентов, где вы вообще не хотите разметки в исходном коде страницы.