如何从 .jsf 页面 adf 12c 中的函数获取返回值?

How can I get returned value from function in .jsf page 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']}"/> 

我在 adf 12c 中使用 .jsf 页面。

只需要在要应用逻辑的标记的渲染属性中调用函数

<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 = false 防止为该组件生成任何标记。这意味着您不能简单地在组件上设置 rendered = true 并期望它出现——它不会。在这种情况下,您必须刷新包含布局管理器以使其呈现。您可能希望 Visible=false 在这里,然后为组件生成标记并设置 visible = true 将使组件出现。

渲染通常是为安全组件保留的,在这些组件中您根本不需要页面源代码中的标记。