Action中的代码
setRoomlist(roomBiz.findBymohu(name, address, d, u));
//roomlist是一个集合,name address d u  参数,  findbymohu是方法!
System.out.println("   ppppppp");
return "mohuselect";
//返回一个集合public List findBymohu(String name,String address,String d.String u){
……
……
List list = s.createQuery(Hql).list();//findBymohu方法中的代码
System.out.println(list.size()+"   llllll");
return list;
}findbymohu  已经查出来list.size()的值是  2  就是数据库有两条数据   
为什么  我在上面System.out.println("   ppppppp"), 却不能在控制台输出!

解决方案 »

  1.   

    public String select() {
    String u = null;
    String d = null;
    String name = null;
    String address = null;
    name = ServletActionContext.getRequest().getParameter("name");
    address = ServletActionContext.getRequest().getParameter("address");
    int depart = Integer.parseInt(ServletActionContext.getRequest()
    .getParameter("de"));
    if (depart != 0) {
    Department de = departmentBiz.findById(depart);
    d = de.getDepname();
    }
    System.out.println(d + "  lllllll"); int userinfo = Integer.parseInt(ServletActionContext.getRequest()
    .getParameter("userinfo"));
    if (userinfo != 0) {
    User user = userBiz.findById(userinfo);
    u = user.getUname();
    }
    System.out.println(u + "  4444444444");
    setRoomlist(roomBiz.findBymohu(name, address, d, u));
    System.out.println("   ppppppp");
    return "mohuselect";
    }
      

  2.   

    public List findBymohu(String name, String address, String depart,
    String userinfo) {
    Session s = getSession();
    Transaction tx = s.beginTransaction();
    String Hql = "from Room as r where 1=1 ";
    if (name != null && !name.equals("")) {
    System.out.println("   qqqqqqqqqq");
    Hql += " and r.name like '%" + name + "%'";
    }
    if (address != null && !address.equals("")) {
    System.out.println("   wwwwwwwww");
    Hql += " and r.address='%" + address + "%'";
    }
    if (depart != null && !depart.equals("")) {
    System.out.println("   eeeeeeeeeee");
    Hql += " and r.department.depname= '" + depart + "'";
    }
    if (userinfo != null && !userinfo.equals("")) {
    System.out.println("     rrrrrrrrrrrr");
    Hql += " and r.userinfo.uname= '" + userinfo + "'";
    }
    Hql += " order by r.rid desc";
    System.out.println("  nnnnnnnnn");
    List list = s.createQuery(Hql).list();
    System.out.println("  cccccccc");
    tx.commit();
    s.flush();
    s.close();
    System.out.println(list.size()+"   llllll");
    return list;
    }
      

  3.   


    System.out.println(u + "  4444444444");//这条执行了吗?
            setRoomlist(roomBiz.findBymohu(name, address, d, u));
            System.out.println("   ppppppp");
      

  4.   

     setRoomlist(roomBiz.findBymohu(name, address, d, u));
            System.out.println("   ppppppp");
            return "mohuselect";
    pppppppp不能在控制台输出 Hql += " order by r.rid desc";
            System.out.println("  nnnnnnnnn");
            List list = s.createQuery(Hql).list();
            System.out.println("  cccccccc");
            tx.commit();
            s.flush();
            s.close();
            System.out.println(list.size()+"   llllll");
            return list;
    这里list.size 有值  明明return了  怎么在action 中 却不能输出  好像断掉了
      

  5.   

    public List findBymohu(String name, String address, String depart,
                String userinfo) {
            Session s = getSession();
            Transaction tx = s.beginTransaction();
            String Hql = "from Room as r where 1=1 ";// 1=1  是什么意思?
            if (name != null && !name.equals("")) {
                System.out.println("   qqqqqqqqqq");
                Hql += " and r.name like '%" + name + "%'";
            }
            if (address != null && !address.equals("")) {
                System.out.println("   wwwwwwwww");
                Hql += " and r.address='%" + address + "%'";  //含%用模糊查询like ,别用=
            }
            if (depart != null && !depart.equals("")) {
                System.out.println("   eeeeeeeeeee");
                Hql += " and r.department.depname= '" + depart + "'";
            }
            if (userinfo != null && !userinfo.equals("")) {
                System.out.println("     rrrrrrrrrrrr");
                Hql += " and r.userinfo.uname= '" + userinfo + "'";
            }
            Hql += " order by r.rid desc";
            System.out.println("  nnnnnnnnn");
            List list = s.createQuery(Hql).list();
            System.out.println("  cccccccc");
            tx.commit();
            s.flush();
            s.close();
            System.out.println(list.size()+"   llllll");
            return list;
        }
      

  6.   

    System.out.println(u + "  4444444444");
    setRoomlist(roomBiz.findBymohu(name, address, d, u));//setRoomlist这个setter确定没错吗?
    System.out.println("   ppppppp");
      

  7.   

    1=1  就是模糊查询 会自动匹配下面的hql语句
      

  8.   


    List<Room> roomlist;
    public List<Room> getRoomlist() {
    return roomlist;
    } public void setRoomlist(List<Room> roomlist) {
    this.roomlist = roomlist;
    }/**
     * 查询
     * 
     * @return
     */
    public String select() {
    String u = null;
    String d = null;
    String name = null;
    String address = null;
    name = ServletActionContext.getRequest().getParameter("name");
    address = ServletActionContext.getRequest().getParameter("address");
    int depart = Integer.parseInt(ServletActionContext.getRequest()
    .getParameter("de"));
    if (depart != 0) {
    Department de = departmentBiz.findById(depart);
    d = de.getDepname();
    }
    System.out.println(d + "  lllllll"); int userinfo = Integer.parseInt(ServletActionContext.getRequest()
    .getParameter("userinfo"));
    if (userinfo != 0) {
    User user = userBiz.findById(userinfo);
    u = user.getUname();
    }
    System.out.println(u + "  4444444444");
    setRoomlist(roomBiz.findBymohu(name, address, d, u));
    System.out.println("   ppppppp");
    return "mohuselect";
    }
    这就是我Action 中的数据  
      

  9.   

    我目前还没用过1=1这样的模糊查询,后面加上去的String才是你的模糊查询。这句无所谓。
    还有
    public void setRoomlist(List<Room> roomlist) {
    //这里你的roomlist是 Room的List<Room>
       this.roomlist = roomlist;
    }
    所以
    //返回类型应该是List<Room>
    //public List<Room> findBymohu(String name, String address, String depart, tring userinfo) 
    public List findBymohu(String name, String address, String depart, tring userinfo) {
            Session s = getSession();
            Transaction tx = s.beginTransaction();
            String Hql = "from Room as r where 1=1 ";
            if (name != null && !name.equals("")) {
                System.out.println("   qqqqqqqqqq");
                Hql += " and r.name like '%" + name + "%'";
            }
            if (address != null && !address.equals("")) {
                System.out.println("   wwwwwwwww");
                Hql += " and r.address='%" + address + "%'"; 
            }
            if (depart != null && !depart.equals("")) {
                System.out.println("   eeeeeeeeeee");
                Hql += " and r.department.depname= '" + depart + "'";
            }
            if (userinfo != null && !userinfo.equals("")) {
                System.out.println("     rrrrrrrrrrrr");
                Hql += " and r.userinfo.uname= '" + userinfo + "'";
            }
            Hql += " order by r.rid desc";
            System.out.println("  nnnnnnnnn");
            List list = s.createQuery(Hql).list();
            //这里要把List类型转换成List<Room>类型
             //List<Room> list = s.createQuery(Hql).list();
            System.out.println("  cccccccc");
            tx.commit();
            s.flush();
            s.close();
            System.out.println(list.size()+"   llllll");
            return list;
        }
      

  10.   

    你的意思就是把list改成List<Room> ??
      

  11.   

    还是不行!
     System.out.println("  4444444444");
            setRoomlist(roomBiz.findBymohu(name, address, d, u));//执行了  hibernate也有值返回
            System.out.println("   ppppppp");//这句就不执行
            return "mohuselect";
     Hql += " order by r.rid desc";
            System.out.println("  nnnnnnnnn");
            List<Room> list = s.createQuery(Hql).list();
            System.out.println("  cccccccc");
            tx.commit();
            s.flush();
            s.close();
            System.out.println(list.size()+"   llllll");//因为这里已经可以输出根据我的输入去数据库查询!它的size() 和数据库完全匹配
            return list;
      

  12.   

    改天你把Project发我,我帮你debug
      

  13.   

    加个try catch 看看抛什么
      

  14.   

    spring配置错误,没有找到真正的bean factory。