簡體   English   中英

如何從EL中的JSP訪問getColumnNames?

[英]How to access getColumnNames from JSP in EL?

我正在使用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>
...

但沒有喜悅..

EL在訪問屬性時依賴於Javabeans規范及其命名約定。 您基本上只需要指定屬性名稱(即使它是虛擬的),EL會在需要返回值時將其轉換為getter調用,或在需要設置值時將其轉換為setter調用(在JSF #{}語法)。

因此, ${helloQuery.getColumnNames}基本上試圖在${helloQuery}表示的類上調用getGetColumnNames()方法。 但是沒有,這將導致PropertyNotFoundException 您需要將其更改為${helloQuery.columnNames}才能調用getColumnNames()方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM