我正在尝试访问ManagedBean内部的函数,但观察到奇怪的行为。
我的ManagedBean:
@Named
@RequestScoped
public class MyMB implements Serializable {
...
public static boolean test() {
// Works without any problem
return true;
}
public static boolean isTest() {
// Not working, .xhtml can't find it
return true;
}
public static boolean isTest(boolean test) {
// Works without any problem
return true;
}
}
在我的.xhtml文件中:
<!-- Works without any problem -->
<p:outputPanel rendered="#{myMB.test}">
<!-- Not working, .xhtml can't find it -->
<p:outputPanel rendered="#{myMB.isTest}">
<!-- Works without any problem -->
<p:outputPanel rendered="#{myMB.isTest(true)}">
观察到的结果:当我使用名称以“ is”开头的布尔静态函数时,只有当我放置参数时,我的xhtml才能看到此函数。
我的问题:EL,静态和/或布尔函数是否存在规则,其中以“ is”开头的函数的名称需要参数接收的变量?我做错了什么?
答案 0 :(得分:0)
您应该使用实例变量来绑定JSF表单,但是对于您的情况,我建议您使用Primefaces的ImportConstants。
在您的情况下: '' 引用实例变量