所以我对jsf中使用值表达式和方法表达式感到有点困惑。我对这两个术语的理解是:
如果错误,请纠正我。
现在我很困惑这两个如何在jsf页面中使用。
我的bean有一个方法:
@ManagedBean
@ViewScoped
public class myBean implements Serializable {
/*Some bean properties here*/
private Set<String> getFilterTerms() {
/*Some logic here*/
return filterTerms;
}
}
我正在尝试渲染一个jsf页面panelGroup,具体取决于上述函数返回的集合的大小。
<h:panelGroup rendered="#{myBean.getFilterTerms().size() > 0}" layout="block" style="margin-top:60px">
//Display some html elements here
</h:panelGroup>
我的代码出现以下错误。
javax.servlet.ServletException: Unable to find method [getFilterTerms] with [0] parameters.
我的问题与this one非常相似,但在链接中它是一个静态方法而我的不是。
答案 0 :(得分:0)
您已将方法getFilterTerms
定义为私有。
答案 1 :(得分:0)
你的EL不应该使用&#34; get&#34;或括号&#34;()&#34;在提到财产时
请改用以下内容:
#{myBean.filterTerms.size() > 0}
注意小写&#34; f&#34;