2014-02-18 37 views
1

下面mentiond是我JSP頁JSTL SQL查詢:JSTL的<c:的foreach錯誤 「屬性的項目不接受任何表情」

<sql:query sql="select postname,comments from root.posts" var="rs" dataSource="${ds}" /> 
        <c:forEach var="row" items="${rs.rows}"> 
         <tr> 
          <td align="center"><c:out value="${row.postname}"></c:out></td> 
          <td align="center"><c:out value="${row.comments}"></c:out></td> 
         </tr> 
        </c:forEach> 

執行JSP後,我的錯誤是:屬性項不接受任何表情 和錯誤cordiate顯示在(28,3),這是 - <c:foreach var="row" items="${rs.rows}"..

的context.xml文件是:

<Context> 
    <Resource name="jdbc/myderby" auth="Container" type="javax.sql.DataSource" 
     username="root" password="root" 
     driverClassName="org.apache.derby.jdbc.EmbeddedDriver" 
     url="jdbc:derby:E:\workspaceDerby\DerbyNew\derbyDb;create=true" 
     maxActive="100" maxIdle="30" maxWait="10000" removeAbandoned="true" /> 
</Context> 

的web.xml文件

<resource-ref> 
     <description>DB connection</description> 
     <res-ref-name>jdbc/myderby</res-ref-name> 
     <res-type>javax.sql.DataSource</res-type> 
     <res-auth>Container</res-auth> 
    </resource-ref> 

附加信息:
- 使用嵌入式德比數據庫內Eclipse的靛藍
- Servlet版本3
- jstl.jar版本1.2,standard.jar版本1.1.2
- 使用HTML 5
- 拿着從教程:here(實際上教程使用Derby的服務器版本我修改了它的嵌入式德比學習目的)
- 兼成功創建使用MySQL數據庫用JSP,servlet的,JSTL CRUD應用程序但與嵌入式德比(因爲嵌入式德比也是我的獨立應用程序和Web應用程序非常有用)

+0

你可以顯示JSP頁面的taglib指令嗎?它以'<%@ taglib prefix =「c」uri =「....」開頭。 – obourgain

+0

我使用<%@ taglib prefix =「c」uri =「http://java.sun.com/jstl/core」 %>,這是核心taglib的標準 – akcHitman

回答

2

您正在使用JSTL 1.0的URI,它不處理表達式語言。

糾正你的JSTL URI來:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 

更多信息,請參見jstl tag faq

+0

thankz ..得到它,但得到另一個異常'dataSource'爲空... – akcHitman

+1

@akcHitman什麼是'$ {ds}'設置爲? – EJP

+0

@EJP謝謝你..指出我錯誤(+ 1投票);而不是這個:dataSource =「$ {ds}」我必須指出在「context.xml」中給出的'名稱',所以修改後的代碼是:dataSource =「jdbc/myderby」。heartily thanks mr ejp .. – akcHitman

相關問題