jsfの値式とメソッド式を混乱させると少し混乱します。 2つの条件の私の理解は:javax.servlet.ServletException:[0]パラメータでメソッドxyzを見つけることができません - 値式とメソッド式の比較
- getterとsetter関数を持つBeanのプロパティであれば、それは値式と呼ばれます。
- クラスの通常のメソッドであり、それはメソッド表現よりもプロパティ(ゲッターやセッターがありません)ではありません。
これが間違っている場合は、私に修正してください。
今、私は2つが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.
- それは rendered属性にメソッド式に、私が持っている方法を使用することは可能ですか?
- そうでなければ、 filtertermsのbean属性を作成し、ゲッターとセッターでコードを実装する必要がありますか?
私の質問はthis oneと非常によく似ていますが、リンクには静的メソッドがありません。
"F" 小文字をjavax.servlet.ServletException:/researcher/index.xhtml @ 61,119 rendered = "#{researcherQueriesBean.getFilterTerms.size()> 0}"プロパティ 'getFilterTerms'が型myPackageに見つかりません.myBean – rehas