2012-04-18 137 views
2

我正在嘗試編寫一個使用JSP/JSTL生成JSON輸出的API,但它不工作,我無法找出問題。這裏我使用ç標籤庫讀取array.Here時得到的問題是代碼:JSTL不生成JSON數據

<%@ page import="java.lang.*,java.io.*,java.util.*,java.sql.*"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> 
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/abc" user="root" password="xxx"/> 
<sql:query dataSource="${snapshot}" var="result" sql="SELECT countries_name,countries_iso_code_2 FROM countries"/> 

<json:object> 
    <json:object name="list"> 
     <c:forEach var="row" items="${result.rows}"> 
     <json:object items="countries"> 
      <json:property name="Country" value="${row.countries_name}"/> 
      <json:property name="iso" value="${row.countries_iso_code_2}"/> 
     </json:object> 
     </c:forEach> 
    </json:object> 
</json:object> 

我得到的例外是

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.ws.indexajson_jsp 
    org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:178) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 

請幫我糾正問題。謝謝。

+0

您是否有任何異常或錯誤?發生了什麼不是你想要的? – 2012-04-18 12:40:12

+1

我已更新您的問題,並從此處刪除了'////問題開始評論。請注意,您不應將用戶引導至代碼中的特定點,因爲這會使他們的假設偏見。 – 2012-04-18 12:42:41

+1

編輯您的問題以包含此例外情況。 **請**閱讀[關於提問的常見問題](http://stackoverflow.com/faq#howtoask)。 – 2012-04-18 12:45:08

回答

2

我剛解決了它。我只是刪除ç標籤庫改變JSON生成代碼

<json:object> 
    <json:object name="list"> 
     <json:array name="countries" var="row" items="${result.rows}"> 
      <json:object> 
       <json:property name="Country" value="${row.countries_name}"/> 
       <json:property name="iso" value="${row.countries_iso_code_2}"/> 
      </json:object> 
     </json:array> 
    </json:object> 
</json:object> 

和它的作品。我得到的問題是我的數組語法。