问问题
25041 次
1 回答
10
假设您已经完成了模型和数据库部分(根据问题的评论),只需创建一个servlet类并doGet()
相应地实现该方法。这相对简单,只需从数据库中检索乘客列表,将其存储在请求范围内,然后转发给应该呈现它的 JSP。下面的示例假设您使用 EJB/JPA 作为服务/数据库层,但是无论您使用什么服务/数据库层,您最终都应该最终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这样调用 servlet 的 URL 来打开页面。
也可以看看:
于 2012-12-05T17:16:07.567 回答