Java 从Servlet打印JSP中的列表数据
我试图将一个列表从Servlet发送到JSP,并使用JSTL标记打印列表数据。当我尝试在控制台中打印时,列表实际上包含数据并显示出来。但是,当我运行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
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