将字符串参数传递给xhtml中的函数或方法

Gau*_*rma 4 jsf el

我有一个按钮,我想根据函数返回true或false来呈现.

HTML:

<p:commandButton type="button" rendered="#{myBean.checkPermission(1)}" value="Create"  />
Run Code Online (Sandbox Code Playgroud)

和支持豆:

public boolean checkPermission(String actionKey) {
...
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用数字参数调用checkPermission时

#{myBean.checkPermission(1)},

它工作正常,但我传递一个字符串作为参数,即

#{myBean.checkPermission(ABC)}

,我得到一个空字符串传递.知道为什么吗?

Lui*_*oza 8

你没有传递一个String,而是一个ABCEL无法理解的变量,你的方法将获得null价值(感谢BalusC对我的正确认可).你应该添加撇号(')告诉你传递的框架String:

<p:commandButton type="button" rendered="#{myBean.checkPermission('ABC')}"
    value="Create" />
Run Code Online (Sandbox Code Playgroud)

  • 更具体的是EL,它不理解它.变量"#{ABC}"在EL范围内不存在,并且计算为"null".这超出了JSF的控制范围. (5认同)