0

JSF 1.2、サーブレット 2.5、Tomcat "6"、および richfaces 3 を使用しています。rich:dataTable を使用して、ページ上の oracle のテーブルからデータを表示しています。IDに応じて、テーブル行の特定の列にカスタマイズされた情報を表示する必要があります。次のようにバッキング Bean にパラメーターを送信しようとしました (Tomcat 7 と el 2.2 jar を知っています。サーブレット 3 はこの問題を解決しますが、現在のセットアップから移動できないので、代替手段を知りたいです。ありがとう)

    <rich:dataTable rendered="true" value="#{studentBean.studentList}" var="dataList">
      ...
   <rich:column sortable="true">
 <f:facet name="header">
  <h:outputText value="Details"/>
     </f:facet>
<h:outputText value="#{studentBean.studentCategory(dataList.id)}"/>
   </rich:column>
      ...
    </rich:dataTable>

私のバッキングビーンは

public String studentCategory(Long id)
 {
        String categoryString;
        //...process table rows with id and return a 
        //...concatenated string
   return categoryString;
 }

次のエラーが表示されます

 The function studentCategory must be used with a prefix when a default namespace is   
 not specified

助けを求める。

4

1 に答える 1

1

JSF 1.2 は、メソッドへの引数の受け渡しをサポートしていません。JSF 2に移行できないため、Faceletsを使用してEL関数を実装できるソリューションを使用できます。

この答えを見ることができます:

静的メソッドを呼び出すカスタム EL 関数を作成する方法は?

そしてこの記事

http://www.ibm.com/developerworks/web/library/j-facelets2/index.html

于 2013-07-25T05:39:16.297 に答える