javax.servlet.ServletException: Cannot find bean: "users" in any scope

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:20:42
public class HibernateDao {
public Collection disObject(){
Session session = null;
Transaction trans = null;
Collection users = null;
try{
session=HibernateSessionFactory.getSession();
trans=session.beginTransaction();
Query query=session.createQuery("from UserInfo");
users=query.list();
System.out.println(users);
trans.commit();
}catch(Exception e){
trans.rollback();
e.printStackTrace();
}finally{
session.close();
}
return users;}}
下边是action类
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
Collection user=null;
HibernateDao dao=new HibernateDao();
try{
user=dao.disObject();
System.out.println(user);
}
catch(Exception e){
e.printStackTrace();
}
finally{

首先指出一点的就是查询的时候 是不需要事物的,但是你加了也不要紧的,
你的迭代在name="users"的后面加上scope="request"

request.setAttribute("users", user);

这个作用范围在在发生request请求时有效,你如果直接访问这个“显示

页面”,可能就要报错。
=====================================
scope 就是你作用范围的问题,把request换成session,多半就可以了··

但是又不是你要的效果了··