所以我對jsf中使用值表達式和方法表達式感到困惑。我對這兩個術語的理解是:javax.servlet.ServletException:找不到[0]參數的方法xyz - 值表達式與方法表達式
- 如果它具有getter和setter函數的bean的屬性,它將被稱爲值表達式。
- 如果它是一個類的常規方法,而不是它稱爲方法表達式的屬性(因此不包含getter或setter)。
請糾正我,如果這是錯誤的。
現在我很困惑這兩個如何在jsf頁面中使用。
我的豆具有類似的方法:
@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.
- 是否有可能使用的方法表達在 渲染屬性我有辦法嗎?
- 如果不是,我是否必須創建一個 filterterms的bean屬性,然後在getter和setters中實現代碼?
我的問題與this one非常相似,但在鏈接中它的靜態方法,而我的不是。
現在公開它給出了以下錯誤: javax.servlet.ServletException:/researcher/index.xhtml @ 61,119 rendered =「#{researcherQueriesBean.getFilterTerms.size()> 0}」:在myPackage類型中找不到屬性'getFilterTerms' .myBean – rehas