在jsp中显示数据

时间:2014-08-07 16:41:09

标签: java jsp servlets

我是jsp的新手,面临一个问题。我需要创建jsp页面,它显示来自servlet的数据。 Servlet代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    CustomersDao customersDao = new CustomersDaoImpl();
    List<Customers> custList = customersDao.getAllCustomers();
    request.setAttribute("customersList", custList);
    request.getRequestDispatcher("/test.jsp").forward(request, response);        
}

jsp页面代码:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Test Page</title>
    </head>
    <body>
        <%-->
        <table border="1">           
            <tr>
                <td>${requestScope['customers'].name}</td> 
                <td>${requestScope['customers'].lastname}</td> 
                <td>${requestScope['customers'].totalAmount}</td>
            </tr>              
        </table>
        <--%>

        <table border="1">
            <c:forEach var="element" items="${requestScope['customersList']}">
                <tr>
                    <td><c:out value="${element.name}" /> TEST.name</td> 
                    <td>${element.lastname} TEST.lastname</td> 
                    <td>${element.totalAmount} TEST.totalAmount</td>
                    <td> ololo </td>
                </tr> 
             </c:forEach>
        </table>

    </body>
</html>

当我向jsp发送单个对象时,它正常工作(代码部分的注释)。但是当我尝试发送列表时,我无法分开对象和浏览器显示我只测试消息。那么我该如何解决呢?

1 个答案:

答案 0 :(得分:1)

  

当我向jsp发送单个对象时,它正常工作(代码部分的注释)。但是当我尝试发送列表时,我无法将对象和浏览器分开,只显示测试消息。

您忘记了包含核心标记库。这就是为什么<c:forEach>不能正常工作的原因,但如果你只传递一个对象就行。

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