我有一个按钮,我想根据函数是返回 true 还是 false 来呈现它。

HTML:

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

和支持 bean:
public boolean checkPermission(String actionKey) {
...
}

问题是,当我使用数字参数调用 checkPermission 时,例如
#{myBean.checkPermission(1)} ,

它工作正常,但是我将字符串作为参数传递,即
#{myBean.checkPermission(ABC)}
,我得到了一个空字符串。知道为什么吗?

最佳答案

您没有传递 String ,而是传递一个 EL 无法理解的 ABC 变量,您的方法将收到 null 值(感谢 BalusC 纠正我)。您应该添加撇号 (') 来告诉框架您正在传递 String :

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

10-07 16:47