这是servlet:
public class OrderListServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
List<Order> list = new ArrayList<Order>();
OrderDAO dao=new OrderDAOImpl();
String sql = "select * from order";
response.setContentType("text/html");
try {
list = dao.getorderList(sql);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
request.setAttribute("orderlist", list);
request.getRequestDispatcher("OrderList.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{
}
}
function:
public List getorderList(String sql) throws Exception{
List<Order> list = new ArrayList<Order>();
// sql = "select * from order";
//String sql2 = "select * from productinfo";
PreparedStatement pstmt = null ;
DBConnect dbc = null;
java.sql.ResultSet rs=null;
try{
dbc = new DBConnect() ;
pstmt = dbc.getConnection().prepareStatement(sql) ;
rs = pstmt.executeQuery(sql);
while(rs.next()){
String buyername = rs.getString("buyername");
// String productname = rs.getString("productname");
// String productimage = rs.getString("productimage");
// String unitnum = rs.getString("unitnum");
// String unitvalue = rs.getString("unitvalue");
String id = rs.getString("id");
String sum = rs.getString("sum");
Order order = new Order();
order.setId(id);
order.setBuyername(buyername);
// order.setProductname(productname);
// order.setUnitvalue(unitvalue);
// order.setUnitnum(unitnum);
order.setSum(sum);
list.add(order);
}
rs.close();
pstmt.close();
}catch (SQLException e){
System.out.println(e.getMessage());
}finally{
dbc.close() ;
}
return list;
}
jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.io.*,java.util.*,java.sql.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<% String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>
<%@ page import="jspservlet.servlet.*"%>
ID | buyer name | sum |
---|---|---|
${order.id } | ${order.buyername } | ${order.sum } |
jsp那一段的代码是:
<form method="post" action="./orderlist">
<table border="1"cellpadding="0" cellspacing="0"width="80%" align="center">
<tr>
<th>ID</th>
<th>buyer name</th>
<th>sum</th>
</tr>
<c:forEach items="${request.orderlist}" var="ordert">
<tr>
<td>${order.id }</td>
<td>${order.buyername }</td>
<td>${order.sum }</td>
</tr>
</c:forEach>
</table>
</form>
<c:forEach items="${orderlist}" var="ordert">
这样修改一下试试。
自己先通过Debug看看具体错误在哪里,var=“order” 不是ordert,细节多注意。
ordert
不是因为这个吧..........
排除法。先在jsp页面使用<%=request.getAttribute("orderlist")%> 看有没有结果(jsp页面会展示很多个对象值带地址的那种)。。如果页面显示有的话就说明后台取到值并成功传到前台jsp页面啦。就能说明是jsp取值的问题。没问题的话就先用C标签取一个orderlist的值。看C标签有没有起效。如果还没问题就是循环的问题啦。
<td>${order.id }</td>
<td>${order.buyername }</td>
<td>${order.sum }</td>
</tr>