JSP页面是由容器编译成servlet的,所以归根结底就是servlet,你可以在里面使用Java Code。JSON
因此,当您想使用 Javascript 解释数据时,无需使用as 传输格式。JSP 在服务器端进行评估。
所以,我会这样做:
- 在您的 servlet 中,检索数据
- 将请求转发到 JSP(这发生在服务器端;客户端(浏览器)无法像重定向一样识别此步骤)
- 在 JSP 中构建表(并呈现响应)
小服务程序代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List<MyObject> listData = ...; // however you get the data
// set the attribute in the request to access it on the JSP
request.setAttribute("listData", listData);
RequestDispatcher rd = getServletContext()
.getRequestDispatcher("/path/to/page.jsp");
rd.forward(request, response);
}
JSP(使用 JSTL 标签库):
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!-- html, head and starting body tag ... -->
<table>
<c:forEach var="element" items="${listData}">
<tr>
<td>${element.abc}</td>
<td>${element.def}</td>
<td>${element.ghi}</td>
</tr>
</c:forEach>
</table>
WhereMyObject
是一个包含实例变量的对象abc
,def
并ghi
为它们提供了 getter 方法。
Note that you need the JSTL jar (which can be downloaded here) in your WEB-INF/lib folder if you do not have it already.