我的程序流是这样的:
有3个jsp分别是
list.jsp(列表)
jump.jsp(跳转页)
show.jsp(详细页)1个.java文件是 DAL.java数据处理的
现在从list.jsp点击一条记录,把ID什么的传去jump.jsp,jump.jsp接收到后处理一下 调用DAL.java的一个方法进行数据查询,返回一个ResultSet到jump.jsp
到这里,我想在show.jsp接收这个数据集。要怎么弄?听说返回ResultSet不好,可以做成返回Collection的。但返回之后要怎么在show.jsp处理呢?!
刚接触java不熟悉指教!

解决方案 »

  1.   

    jsp中写个<%XXX%>
    在XXX位置当java文件写啊
      

  2.   

    直接返回一个ArrayList,然后用for显示拉倒。
      

  3.   

    <%List digits = (List)request.getAttribute("digits") ;
    for(Iterator it = digits.iterator();it.hasNext();){
    TruckDigitBean digit = (TruckDigitBean)it.next();
    %>
    <%=digit.getTruckDigit() %>
            <% 
    }
    %>
    其中request.getAttribute("digits")中的digits就是传过来的哪个ArrayList。
    TruckDigitBean 就是你传到页面上的每一个对象(每一行记录)。
      

  4.   


    [1]先写个这样的类,用于保存备用,可以保存变量
    import java.util.List;/**
     * 一个订单的JavaBean
     */
    public class Order {
    private int orderId; private String recvName;//收货人

    private User user;

    private String address;  private String postcode;  private String email;  private String orderDate; private int flag;//0表示货没发出,1表示货已发出,2表示货冻结

    private List orderItem; //一个用于装订单项的List public List getOrderItem() {
    return orderItem;
    } public void setOrderItem(List orderItem) {
    this.orderItem = orderItem;
    } public int getFlag() {
    return flag;
    } public void setFlag(int flag) {
    this.flag = flag;
    } public String getOrderDate() {
    return orderDate;
    } public void setOrderDate(String orderDate) {
    this.orderDate = orderDate;
    } public int getOrderId() {
    return orderId;
    } public void setOrderId(int orderId) {
    this.orderId = orderId;
    } public User getUser() {
    return user;
    } public void setUser(User user) {
    this.user = user;
    } public String getAddress() {
    return address;
    } public void setAddress(String address) {
    this.address = address;
    } public String getEmail() {
    return email;
    } public void setEmail(String email) {
    this.email = email;
    } public String getPostcode() {
    return postcode;
    } public void setPostcode(String postcode) {
    this.postcode = postcode;
    } public String getRecvName() {
    return recvName;
    } public void setRecvName(String recvName) {
    this.recvName = recvName;
    }

    }【2】再写个这样的方法读取查询结果 public List selectOrder(String name) {
    List list = new ArrayList();
    Order or = null ;
    DbUtil dao = new DbUtil();
    PreparedStatement pre = null;
    ResultSet re = null;
    String sql = "select * from tb_order where name=?";
     try {
    pre = dao.getCon().prepareStatement(sql);
    pre.setString(1, name);
      re =pre.executeQuery();
      while(re.next()){
      or = new Order ();
      User user = new User();
    or.setOrderId(re.getInt("orderId"));
    user.setName(re.getString("name"));
    or.setRecvName(re.getString("recvName"));
    user.setAddress(re.getString("address"));
    user.setPostcode(re.getString("postcode"));
    user.setEmail(re.getString("email"));
    or.setUser(user);
      or.setOrderDate(re.getString("orderDate"));
      or.setFlag(re.getInt("flag"));
      list.add(or);
      }
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return list;
    }
    public class User {
    private int id; private String name; private String password; private String email; private String trueName; private String sex; private String birthday; private String address; private String postcode; private String phone; private String mphone; private String question; private String answer;

    private String img;

    private int score; public String getAddress() {
    return address;
    } public void setAddress(String address) {
    this.address = address;
    } public String getAnswer() {
    return answer;
    } public void setAnswer(String answer) {
    this.answer = answer;
    } public String getBirthday() {
    return birthday;
    } public void setBirthday(String birthday) {
    this.birthday = birthday;
    } public String getEmail() {
    return email;
    } public void setEmail(String email) {
    this.email = email;
    } public String getMphone() {
    return mphone;
    } public void setMphone(String mphone) {
    this.mphone = mphone;
    } public String getPhone() {
    return phone;
    } public void setPhone(String phone) {
    this.phone = phone;
    } public String getPostcode() {
    return postcode;
    } public void setPostcode(String postcode) {
    this.postcode = postcode;
    } public String getQuestion() {
    return question;
    } public void setQuestion(String question) {
    this.question = question;
    } public String getSex() {
    return sex;
    } public void setSex(String sex) {
    this.sex = sex;
    } public String getTrueName() {
    return trueName;
    } public void setTrueName(String trueName) {
    this.trueName = trueName;
    } public int getId() {
    return id;
    } public void setId(int id) {
    this.id = id;
    } public String getName() {
    return name;
    } public void setName(String name) {
    this.name = name;
    } public String getPassword() {
    return password;
    } public void setPassword(String password) {
    this.password = password;
    } public String getImg() {
    return img;
    } public void setImg(String img) {
    this.img = img;
    } public int getScore() {
    return score;
    } public void setScore(int score) {
    this.score = score;
    }
    }
    【3】大概流程如下
    -->查看订单selectOrder--com.lovo.cq.shopping10_1.servlet.SelectOrder
    调用ModelOrder model = new ModelOrder();的List list = model.selectOrder(name);
    然后设置request.getSession().setAttribute("list", list);
    然后response.sendRedirect("selfOrder.jsp");
          --->selfOrder.jsp
    然后通过     
    <c:forEach var="order" items="${list}">
         <tr>
         <td>${order.orderId}</td>
             <td>${order.recvName}</td>
             <td>${order.user.address}</td>
             <td>${order.user.postcode}</td> 
             <td>${order.flag}</td>
             <td><a href="son?id=${order.orderId}">查看</a></td>
         </tr>
         </c:forEach>
    显示订单基本信息
      

  5.   

    你的问题是属于编辑单条记录的问题,不用LIST只需传一个对象过去即可,不过这个对象的属性要先给值。
      

  6.   

    嗯,我这个是编辑或单条查看用的,但这个项目全做成动态的,但不够完善,没有使用5,6楼说的那样的实体类
    如果用ArrayList要怎么操作呢?
      

  7.   

    看了你那三个页面也你的功能就感觉你那个jump页面是多余的
      

  8.   

    <c:forEach var="order" items="${list}">
    <tr>
    <td>${order.orderId}</td>
    <td>${order.recvName}</td>
    <td>${order.user.address}</td>
    <td>${order.user.postcode}</td>  
    <td>${order.flag}</td>
    <td><a href="son?id=${order.orderId}">查看</a></td>
    </tr>
    </c:forEach>
     用这个标签吧
      

  9.   

    时间紧迫..还是乖乖的返回ResultSet了...