私はレストランでモックプロジェクトをやっているので、データベースからレストランのリストを表示する必要があります。メインページからサーブレットのレストランリストページへのリンクと、すべてのレストランを手に入れる方法getRestaurantList
があります。ユーザーがこのリンクをクリックすると、レストランページにすべてのレストランが表示されます。ここで私はリストを表示するために使用します。いつも表示するようにjspを設定する
サーブレット
String action = request.getParameter("action");
DataProcess dt = new DataProcess();
List<Restaurant> rlist = new ArrayList<Restaurant>();
if("RestaurantList".equalsIgnoreCase(action))
{
rlist = dt.getRestaurantList();
HttpSession session = request.getSession();
session.setAttribute("rlist", rlist);
response.sendRedirect("RestaurantList.jsp");
}
RestaurnatList.jsp
<c:forEach var="r" items="${sessionScope.rlist}">
<div class="row">
<div class="col-md-7">
<a href="Restaurant.jsp">
<img class="img-responsive img-hover" src="${r.picture}" alt="">
</a>
</div>
<div class="col-md-5">
<h3>${r.restName}</h3>
<h4>${r.phone}</h4>
<p>${r.address}</p>
<a class="btn btn-primary" href="Restaurant.jsp">View Restaurant</i></a>
</div>
</div>
<!-- /.row -->
<hr>
</c:forEach>
これだけで、その特定のセッションでは、レストランのリストを表示することを可能に。ユーザーがURLを直接入力すると、表示するレストランはありません。常にユーザーがページを入力するたびに、データベースからレストランリストが表示されるように、アプリケーションライフサイクルから常にレストランリストの変数を設定する方法はありますか?
これは正解ですが、コンテキストスコープを設定するようにサーブレットを呼び出す方法は?サーバーの起動時に自動的に設定されますか? – user3676506
私の答えが更新されましたので、一見することができます – developer