用servlet打出数据库在jsp页面列表展示,但是jsp页面始终不出现数据库中的值 2C

这是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 }

6个回答

排除法。先在jsp页面使用<%=request.getAttribute("orderlist")%> 看有没有结果(jsp页面会展示很多个对象值带地址的那种)。。如果页面显示有的话就说明后台取到值并成功传到前台jsp页面啦。就能说明是jsp取值的问题。没问题的话就先用C标签取一个orderlist的值。看C标签有没有起效。如果还没问题就是循环的问题啦。

qq_31045649
qq_31045649 回复qq_31045649: 是servlet的问题导致没有取值成功吗?怎么改servlet啊~~·
4 年多之前 回复
qq_31045649
qq_31045649 <%=request.getAttribute("orderlist")%>用这个显示的是null该怎么办啊?
4 年多之前 回复

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">

这样修改一下试试。

qq_31045649
qq_31045649 回复dcxy0: 我都改了,可还是不行
4 年多之前 回复
dcxy0
Q544471255 <c:forEach items="${orderlist}" var="order"> 你的代码var多了一个t
4 年多之前 回复

自己先通过Debug看看具体错误在哪里,var=“order” 不是ordert,细节多注意。

ordert

不是因为这个吧..........


  <td>${order.id }</td>
  <td>${order.buyername }</td>
  <td>${order.sum }</td>

</tr>

/c:forEach
改成

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问