25041 次
1 に答える
10
モデルとDBの部分がすでに完成していると仮定すると(質問のコメントに従って)、サーブレットクラスを作成し、doGet()
それに応じてメソッドを実装するだけです。比較的簡単です。DBから乗客のリストを取得し、リクエストスコープに保存して、JSPに転送するだけです。以下の例では、EJB /JPAをサービス/DBレイヤーとして使用していると想定していますが、使用するサービス/ DBレイヤーが何であれ、最終的にはList<Passenger>
そこから取得する必要があります。
@WebServlet("/passengers")
public class Passengers extends HttpServlet {
@EJB
private PassengerService service;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Passenger> passengers = service.list();
request.setAttribute("passengers", passengers);
request.getRequestDispatcher("/WEB-INF/passengers.jsp").forward(request, response);
}
}
JSTLを使用して反復処理するJSPファイルを作成し、毎回新しいHTMLを出力します。/WEB-INF/passengers.jsp
<c:forEach>
<option>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<select name="passenger">
<c:forEach items="${passengers}" var="passenger">
<option value="${passenger.id}"><c:out value="${passenger.name}" /></option>
</c:forEach>
</select>
Passenger
(この例では、エンティティがプロパティを持っていることをid
前提としていname
ます)
それは基本的にそれであるはずです。http://example.com/contextpath/passengersのようにサーブレットのURLを呼び出してページを開くだけです。
参照:
于 2012-12-05T17:16:07.567 に答える