JSP ページはコンテナーによってサーブレットにコンパイルされるため、最終的にはサーブレットであり、Java コードを使用できます。JSON
そのため、Javascript でデータを解釈する場合のように as transfer formatを使用する必要はありません。JSP はサーバー側で評価されます。
だから、私は次のようにします:
- サーブレットで、データを取得します
- リクエストを 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 を使用):
<%@ 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>
MyObject
は、インスタンス変数を保持するオブジェクトでabc
ありdef
、それらのgetterghi
メソッドがあります。
まだ持っていない場合は、JSTL jar (ここからダウンロードできます) が WEB-INF/lib フォルダーに必要であることに注意してください。