JSF。如何通过bean方法禁用页面组件

时间:2014-04-23 20:45:45

标签: jsf primefaces menuitem

我想在我的网页上禁用一些menuitem:

<p:menuitem value="Edit" update=":formedit:viewDisplayEdit" icon="ui-icon-document" oncomplete=... disabled="#{bean.ask(1)}"/>

在我的备份bean中:

public boolean ask(int id)
{
Ask the database here for privilege "id" and return true if logged user have privilege "id" 
else return false
}

当然,我想在页面渲染过程中只检查一次。 在此示例中,无论方法的结果如何,“ask”menuitem始终处于启用状态。 我知道我可以设置布尔变量xmls代码(#{bean.ask1}),但我想要一个通用的解决方案。 你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用get和set方法在bean中询问私有变量。

private boolean ask = true;

public boolean isAsk(){
    return ask;
}

public void setAsk(boolean ask){
    this.ask = ask;
}

现在,无论你想要启用或禁用菜单项的任何条件,都可以在bean中的其他方法中适当地设置或重置ask变量。

if (condition = true){
    setAsk(false);
}