我正在尝试使用 JSP/JSTL 编写一个 API 来生成 JSON 输出,但它无法正常工作,我无法找出问题所在。在使用C 标记库读取数组时,我遇到了问题。这里是代码:
<%@ 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)
请帮我解决问题。谢谢。