我在页面加载(以编程方式在.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页面。
答案 0 :(得分:0)
使用“渲染”时要小心。 Rendered = false阻止为该组件生成任何标记。这意味着您不能简单地在组件上设置rendered = true并期望它出现-它不会。在这种情况下,您必须刷新包含的布局管理器以使其呈现。您可能希望在这里使用Visible = false,然后为组件生成标记,并将visible = = true设置将使组件出现。
Rendered通常是为安全组件保留的,这些组件根本不需要页面源中的标记。
答案 1 :(得分:-1)
只需要在要应用逻辑的标记的render属性中调用函数
<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',则它将呈现,否则将呈现不呈现