Java 从Servlet打印JSP中的列表数据

Java 从Servlet打印JSP中的列表数据,java,jsp,servlets,arraylist,Java,Jsp,Servlets,Arraylist,我试图将一个列表从Servlet发送到JSP,并使用JSTL标记打印列表数据。当我尝试在控制台中打印时,列表实际上包含数据并显示出来。但是,当我运行JSP页面时,我不会显示数据,而是打印数据 The Cars details are: Year Model Price KM City Fuel ${record} ${record.model} ${record.price} ${record.kms} ${record.ci

我试图将一个列表从Servlet发送到JSP,并使用JSTL标记打印列表数据。当我尝试在控制台中打印时,列表实际上包含数据并显示出来。但是,当我运行JSP页面时,我不会显示数据,而是打印数据

                  The Cars details are: 
               Year Model Price KM City Fuel 
${record} ${record.model} ${record.price} ${record.kms} ${record.city} ${record.fuel} 
                             Go Home 
ViewServlet.java

package com.student.controller;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.student.bean.Car;
import com.student.dao.CarDaoImpl;

/**
 * Servlet implementation class ViewServlet
 */
public class ViewServlet extends HttpServlet {
/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
 *      response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String page = request.getParameter("page");
    System.out.println("In servlet");
    RequestDispatcher rd = null;

    String id = request.getParameter("year");
    String year = null;
    if (id != null)
        year = (id);
    System.out.println("In servlet");

    System.out.println(year);
    Car Car = new CarDaoImpl().viewCar(year);
    ArrayList<Car> list = new CarDaoImpl().viewCar2(year);

    System.out.println(list);
    int i = 0;
    for (Car iter : new CarDaoImpl().viewCar2(year)) {
        System.out.print(i++);

        System.out.print(" Model is: " + iter.getModel());
        System.out.print(" Price is: " + iter.getPrice());
        System.out.print(" Year is: " + iter.getYear());
        System.out.print(" City  is: " + iter.getCity());
        System.out.print(" Fuel is: " + iter.getFuel());
        System.out.println(" Kms is: " + iter.getKms());

    }

    CarDaoImpl userDAO = new CarDaoImpl();

    List<Car> users = new ArrayList<Car>();
    users = userDAO.viewCar2(year);

    for (Car iter1 : userDAO.viewCar2(year)) {
        System.out.print(i++);
        System.out.print(" Model is: " + iter1.getModel());
        System.out.print(" Price is: " + iter1.getPrice());
        System.out.print(" Year is: " + iter1.getYear());
        System.out.print(" City  is: " + iter1.getCity());
        System.out.print(" Fuel is: " + iter1.getFuel());
        System.out.println(" Kms is: " + iter1.getKms());

    }

    request.setAttribute("list", users);
    RequestDispatcher requestDispatcher = request.getRequestDispatcher("display.jsp");
    requestDispatcher.forward(request, response);

}
package com.student.controller;
导入java.io.IOException;
导入java.util.ArrayList;
导入java.util.List;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入com.student.bean.Car;
导入com.student.dao.CarDaoImpl;
/**
*Servlet实现类ViewServlet
*/
公共类ViewServlet扩展了HttpServlet{
/**
*@参见HttpServlet#doPost(HttpServletRequest,HttpServletResponse
*(答复)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
String page=request.getParameter(“页面”);
System.out.println(“在servlet中”);
RequestDispatcher rd=null;
字符串id=request.getParameter(“年”);
字符串year=null;
如果(id!=null)
年份=(id);
System.out.println(“在servlet中”);
系统输出打印项次(年);
Car Car=新的CarDaoImpl().viewCar(年份);
ArrayList list=new cardaImpl().viewCar2(年份);
系统输出打印项次(列表);
int i=0;
用于(汽车iter:new CarDaoImpl().viewCar2(年份)){
系统输出打印(i++);
打印(“模型为:+iter.getModel());
System.out.print(“价格为:+iter.getPrice());
System.out.print(“年份为:+iter.getYear());
System.out.print(“城市是:+iter.getCity());
系统输出打印(“燃料是:+iter.getFuel());
System.out.println(“Kms是:+iter.getKms());
}
CarDaoImpl userDAO=新的CarDaoImpl();
列表用户=新建ArrayList();
users=userDAO.viewCar2(年);
对于(Car iter1:userDAO.viewCar2(年份)){
系统输出打印(i++);
System.out.print(“模型为:+iter1.getModel());
System.out.print(“价格为:+iter1.getPrice());
System.out.print(“年份为:+iter1.getYear());
System.out.print(“城市是:+iter1.getCity());
System.out.print(“燃料是:+iter1.getFuel());
System.out.println(“Kms是:+iter1.getKms());
}
setAttribute(“列表”,用户);
RequestDispatcher=request.getRequestDispatcher(“display.jsp”);
转发(请求、响应);
}
}

display.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Car display details</title>
</head>
<body>
<center>
    <th>The Cars details are:
    <th>
        <table>
            <tr>
                <th>Year</th>
                <th>Model</th>
                <th>Price</th>
                <th>KM</th>
                <th>City</th>
                <th>Fuel</th>

            </tr>


            <c:forEach items="${list}" var="record">
                <tr>
                    <td>${record.year }</td>
                    <td>${record.model }</td>
                    <td>${record.price }</td>
                    <td>${record.kms}</td>
                    <td>${record.city }</td>
                    <td>${record.fuel }</td>
                </tr>
            </c:forEach>
        </table> <a href="index.jsp">Go Home</a>
</center>
</body>
</html>

汽车展示详情
车辆详情如下:
年
模型
价格
公里
城市
燃料
${record.year}
${record.model}
${record.price}
${record.kms}
${record.city}
${record.fuel}

您使用的是哪个jstl版本?@GurkanYesilyurt jstl 1.2。代码似乎是正确的。尝试不同的jstl库。请放置WEB-INF/lib。我正在使用Maven dependencies.jstl是否正常工作?请检查?。使用一个简单的循环jstl