2017-01-16 11 views
-1

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. 
  1. それは rendered属性にメソッド式に、私が持っている方法を使用することは可能ですか?
  2. そうでなければ、 filtertermsのbean属性を作成し、ゲッターとセッターでコードを実装する必要がありますか?

私の質問はthis oneと非常によく似ていますが、リンクには静的メソッドがありません。

答えて

0

メソッドgetFilterTermsをプライベートに定義しました。

+0

"F" 小文字をjavax.servlet.ServletException:/researcher/index.xhtml @ 61,119 rendered = "#{researcherQueriesBean.getFilterTerms.size()> 0}"プロパティ 'getFilterTerms'が型myPackageに見つかりません.myBean – rehas

0
あなたのELは使用しないでください

プロパティを参照するときに

ではなく、次の使用 ")(" "取得" またはブラケット:

#{myBean.filterTerms.size() > 0} 

ノート

関連する問題