qq_31045649
qq_31045649
采纳率50%
2015-09-14 03:12

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

2

这是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条回答

  • usernamehui usernamehui 6年前

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

    点赞 1 评论 复制链接分享
  • yllcxsj yllcxsj 6年前


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

    /c:forEach
    改成

    点赞 评论 复制链接分享
  • ayanami001 微甜灬呼吸 6年前

    ordert

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

    点赞 评论 复制链接分享
  • tb176 IT丶小农民 6年前

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

    点赞 评论 复制链接分享
  • dcxy0 Q544471255 6年前
      <c:forEach items="${orderlist}" var="ordert">
    

    这样修改一下试试。

    点赞 评论 复制链接分享
  • qq_31045649 qq_31045649 6年前

    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>
    
    
    点赞 评论 复制链接分享

相关推荐