はじめに
このプロジェクトでは、JSP(JavaServer Pages)ページで EL(Expression Language)式を使用してデータベースから取得したユーザーデータを表示する方法を学びます。2 つの JSP ページを実装します。1 つはユーザーID を入力して対応するユーザー情報を照会するためのもので、もう 1 つは照会したデータを表示するためのものです。
👀 プレビュー
index.jsp

data.jsp

🎯 タスク
このプロジェクトでは、以下を学びます。
- ユーザーID を入力して
data.jspにリダイレクトするフォームを含むindex.jspページを実装する方法。 - EL 式を使用してデータベースから取得したユーザーデータを表示する
data.jspページを実装する方法。
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- JSP ページで EL 式を使用してデータにアクセスして表示する。
- サーブレットとやり取りしてデータベースからデータを取得し、JSP ページに渡す。
- ユーザーにとって使いやすい形式でデータを提示するための HTML テーブルを作成してスタイリッシングする。
index.jsp ページを実装する
このステップでは、ユーザーID を入力して data.jsp にリダイレクトするフォームを含む index.jsp ページを実装する方法を学びます。
QueryDisplayElProject/src/main/webappにあるindex.jspファイルを開きます。- 次のコードをファイルに追加します。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>User Information Inquiry</title>
</head>
<body>
<form action="/UserServlet" method="get">
<input type="text" name="id" /><input
type="submit"
value="search"
/>
</form>
</body>
</html>
このコードは、ユーザーID 用の入力フィールドと「search」とラベル付けされた送信ボタンを持つ簡単な HTML フォームを作成します。ユーザーが送信ボタンをクリックすると、入力フィールドに入力されたユーザーID が id パラメータとして /UserServlet に GET 要求を送信します。
data.jsp ページを実装する
このステップでは、EL 式を使用してデータベースから取得したユーザーデータを表示する data.jsp ページを実装する方法を学びます。
QueryDisplayElProject/src/main/webappにあるdata.jspファイルを開きます。- 次のコードをファイルに追加します。
<%@ page import="org.labex.entity.User" %> <%@ page
contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="c"
uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>User Information</title>
<style>
th,
td {
border: 1px solid black;
padding: 8px;
}
</style>
</head>
<body>
<c:if test="${not empty requestScope.user}">
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Gender</th>
<th>Age</th>
<th>Phone Number</th>
<th>Email</th>
<th>Address</th>
</tr>
</thead>
<tbody>
<tr>
<td>${user.userId}</td>
<td>${requestScope.user.userName}</td>
<td>${requestScope.user.userGender == 1? 'man' : 'woman'}</td>
<td>${requestScope.user.userAge}</td>
<td>${requestScope.user.userPhone}</td>
<td>${requestScope.user.userEmail}</td>
<td>${requestScope.user.userAddr}</td>
</tr>
</tbody>
</table>
</c:if>
<c:if test="${empty requestScope.user}">
<p>Information not found.</p>
</c:if>
</body>
</html>
このコードは、ユーザーデータを表示する HTML テーブルを作成します。Servlet から取得して requestScope に格納された User オブジェクトのプロパティにアクセスするために EL 式を使用します。User オブジェクトが見つからない場合、情報が見つからないことを示すメッセージを表示します。
<c:if> タグは、requestScope に User オブジェクトが存在するかどうかに基づいて条件付きでテーブルまたは「情報が見つかりません」メッセージを表示するために使用されます。
- 次のコマンドを使用して Tomcat サーバーを起動します。
cd ~/project/QueryDisplayElProject/
mvn clean tomcat7:run
- ウェブブラウザを開き、
http://localhost:8080に移動します。入力ボックスとボタンが表示されますので、入力ボックスに番号 id を入力し、たとえば7を入力してからボタンをクリックすると、data.jspページにジャンプして7のユーザー情報が表示されます。
結果は以下の通りです。

まとめ
おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行って練習してください。
