1

JSTL SQL タグ ライブラリを使用して、JSP 内から小さな SQL クエリを実行しています。

私は通常、rowsByIndex を使用して EL でクエリ結果を取得し、返されたコレクションを反復処理します。

<c:forEach var="row" items="${myQuery.rowsByIndex}">
    <p>${row[0]}, ${row[1]}, ${row[2]}, ${row[3]}</p>
</c:forEach>>

列名についても同様のことをしたいと思います。

結果インターフェイスにメソッドがあることがわかります。

public String[] getColumnNames();

ELからこれにアクセスする方法を見つけようとしています。

私は次のようなことをしようとしています:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
...
  <table>
    <tr>
        <c:forEach var="columnName" items="${helloQuery.getColumnNames}">
            <th><c:out value="${columnName}" /></th>
        </c:forEach>
    <tr>
  </table>
...

しかし、喜びはありません..

4

1 に答える 1

1

ELは、プロパティへのアクセスに関しては、 Javabeans 仕様とその命名規則に依存しています。基本的にプロパティ名を指定するだけで (仮想であっても)、EL は値を返す必要がある場合は getter 呼び出しに、値を設定する必要がある場合は setter 呼び出しに変換します (#{}ただし、JSF 構文のみ)。 )。

したがって、基本的には、で表されるクラスでメソッド${helloQuery.getColumnNames}を呼び出そうとしています。しかし、何もなく、これは. メソッドを呼び出すには、これを に変更する必要があります。getGetColumnNames()${helloQuery}PropertyNotFoundException${helloQuery.columnNames}getColumnNames()

于 2012-05-11T12:09:33.197 に答える