0

jsp から車のリストを表示しようとしています。しかし、実行時に何も表示されない理由がわかりません:

サーブレット コード:

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>

私は何かが欠けていますか?理解できません。サーブレットを実行すると、jsp ページに車両のリストが表示されます。

私は休止状態 (正常に動作し、データベースに完全にアクセスする) を使用し、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>
4

4 に答える 4

1

あなたのJSPで、あなたが書いたスペルミスのリスト

${liste}これは${list}

于 2011-05-31T23:05:10.573 に答える
1

最初に、コンテナに JSTL ビルトインが同梱されているか、またはコンテナが同梱されていない場合 (Tomcat など) に、適切なバージョンの JSTL がインストールされていることを確認します。詳細については、JSTL wiki ページを確認してください。バージョンを再確認することを忘れないでくださいweb.xml

次に、JSTL コア taglib を使用する場合は、JSTL taglib ドキュメントに従って、JSP の最上位で宣言されていることを確認します。

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

このようにして、すべての<c:xxx>タグが実行されます。

于 2011-06-01T13:39:39.440 に答える
0

サーブレットは、車のリストを「リスト」という名前のセッション属性に設定しています。jspが「liste」という名前でアクセスしているところ。

于 2011-06-01T04:35:11.233 に答える
0

doPost メソッドが呼び出されていますか? まずそれを確認してください。

于 2011-05-31T22:13:18.897 に答える