Как я могу получить возвращенное значение из функции на странице .jsf adf 12c? - PullRequest
0 голосов
/ 23 января 2019

Я вызываю функцию при загрузке страницы (страница .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 ]

0 голосов
/ 24 января 2019

Будьте осторожны с использованием Rendered.Rendered = false предотвращает создание любой разметки для этого компонента.Это означает, что вы не можете просто установить rendered = true для компонента и ожидать его появления - этого не произойдет.В этом случае вы должны обновить содержащий менеджер макета, чтобы заставить его отображать.Вы, вероятно, захотите, чтобы Visible = false здесь, тогда для компонента будет сгенерирована разметка, а установка visible = true заставит компонент появиться.

Рендеринг часто зарезервирован для защищенных компонентов, где вы не хотите, чтобы разметка вИсточник страницы вообще.

0 голосов
/ 23 января 2019

только вам нужно вызвать функцию в атрибуте рендеринга этого тега, где вы хотите применить логику

<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', то оно будет отображаться, в противном случае оно не будет отображать

...