我正在尝试从我的jsp中显示汽车列表。但我不明白为什么在运行时没有出现:
Servlet代码:
public class SDisplayCar extends HttpServlet{
private static final long serialVersionUID = 1L;
private Gestion gestion = Gestion.getInstance();
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
int category = Integer.parseInt(request.getParameter("category"));
int place = Integer.parseInt(request.getParameter("place"));
String startingDate = request.getParameter("dstart");
String endingDate = request.getParameter("dend");
Date start = gestion.getDate(startingDate);
Date end = gestion.getDate(endingDate);
List<Vehicle> list = gestion.getVehiclesAvailable(category,place,start,end);
HttpSession session=request.getSession();
session.setAttribute("list", list);
request.getRequestDispatcher("listeOfVehicle.jsp").forward(request,response);
}
}
JSP代码:
<table border="1">
<thead>
<tr>
<th>Category</th>
<th>Brand</th>
<th>Model</th>
<th>Places</th>
</tr>
</thead>
<tbody>
<c:forEach var="vehicle" items="${list}">
<tr>
<td><c:out value="${vehicle.category}" /></td>
<td><c:out value="${vehicle.brand}" /></td>
<td><c:out value="${vehicle.model}" /></td>
<td><c:out value="${vehicle.places}" /></td>
</tr>
</c:forEach>
</tbody>
</table>
我错过了什么。我不明白。当我运行servlet时,它应该在jsp页面中显示车辆列表。
我正在使用hibernate(工作正常并完美地访问数据库)并使用MVC模型。
这是我的表格:
<body>
<Form action="DisplayCar" method="post">
<TABLE BORDER=0>
<TR>
<TD>Category</TD>
<TD>
<SELECT name="category">
<OPTION VALUE="1">1</OPTION>
<OPTION VALUE="2">2</OPTION>
<OPTION VALUE="3">3</OPTION>
<OPTION VALUE="4">4</OPTION>
<OPTION selected VALUE="5">5</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD>Date</TD>
<TD>
<P>Starting date: <input type="text" name="dstart" />
<P>End date <input type="text" name="dend" />
</TD>
</TR>
<TR>
<TD>Place</TD>
<TD>
<SELECT name="place">
<OPTION VALUE="4">4</OPTION>
<OPTION VALUE="5">5</OPTION>
</SELECT>
</TD>
</TR>
<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Send">
</TD>
</TR>
</TABLE>
</Form>
</body>
</html>
答案 0 :(得分:1)
在您的JSP中,您编写了错误列表
${liste}
其${list}
答案 1 :(得分:1)
首先确保您的容器内置JSTL,或者当容器未附带容器(例如Tomcat)时,您已安装了正确版本的JSTL。有关详细信息,请查看our JSTL wiki page。不要忘记再次检查web.xml
版本!
然后,当您想要使用JSTL核心taglib时,请确保它已根据JSTL taglib documentation在JSP的顶部声明:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
这样,所有<c:xxx>
代码都会运行。
答案 2 :(得分:0)
您确定要调用doPost方法吗?请先检查一下。
答案 3 :(得分:0)
servlet正在将汽车列表设置为名为“list”的会话属性。 jsp以名称“liste”访问的位置。