Java 如何从.jsf页面adf 12c中的函数获取返回值?
我正在页面加载(.jsf页面编程)上调用一个函数,它工作正常,但函数返回(0或1)字符串值。我想根据jsf页面中的返回值显示或隐藏按钮 如何在.jsf页面上获取返回值 如何根据返回值应用显示和隐藏逻辑 下面是如何在页面加载时调用函数Java 如何从.jsf页面adf 12c中的函数获取返回值?,java,oracle,oracle-adf,jdeveloper,oracle-fusion-middleware,Java,Oracle,Oracle Adf,Jdeveloper,Oracle Fusion Middleware,我正在页面加载(.jsf页面编程)上调用一个函数,它工作正常,但函数返回(0或1)字符串值。我想根据jsf页面中的返回值显示或隐藏按钮 如何在.jsf页面上获取返回值 如何根据返回值应用显示和隐藏逻辑 下面是如何在页面加载时调用函数 <f:metadata> <?audit suppress oracle.ide.xml.validation-error?> <f:event type="preRenderView" listener
<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']}"/>
<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']}"/>
我使用的是adf 12c中的.jsf页面。只需要在要应用逻辑的标记的render属性中调用函数
<af:button text="Supplier" id="b4" inlineStyle="width:190px;"
destination="Supplier_Setup.jsf" icon="#{resource['images:supplier.png']}"/>
<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.viewPrivilEdge('Program')=='1'}.”。。。。。。。。。。如果返回值等于“1”,则它将渲染,否则它将不渲染请小心使用渲染。Rendered=false可防止为该组件生成任何标记。这意味着您不能简单地在组件上设置rendered=true并期望它出现——它不会出现。在这种情况下,必须刷新包含布局管理器的布局,才能使其进行渲染。您可能希望这里的Visible=false,然后为组件生成标记,设置Visible=true将使组件出现
Rendered通常是为安全组件保留的,您根本不想在页面源中使用标记。为什么要使用“backing bean”作用域bean?为什么函数返回0或1而不是布尔值?如果该函数返回布尔值,则该函数的所有用户都能够编写更好的代码。必须测试==“1”是脆弱的代码,容易出错,并且包含意外的复杂性。