hibernate查询的结果是个集合怎么传递给JSP呢
Serverlet://建立查询方法Sessionsession=HibernateSessionFactory.getSession();Transactionts=s...
Serverlet:
//建立查询方法
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
//将JSP页面发送过来的对象提取出来
String username=request.getParameter("name");
// 1、得到Query对象,并写入Sql语句
Query query = session.createQuery("from User where username=?");
query.setParameter(0, username);
//2、使用Query对象的list方法得到数据集合
这是Serverlet里的代码
List<User>list=query.list();
//遍历所有记录并进行查询
for (int i = 0; i < list.size(); i++) {
User user=list.get(i);
//用setAttribute将查询好的结果储存起来
request.setAttribute("id", user.getUserid());
request.setAttribute("name", user.getUsername());
request.setAttribute("email", user.getEmail());
}
//3、遍历集合获取数据
ts.commit();
System.out.println("查询成功");
HibernateSessionFactory.closeSession();
//将查询好的结果用request内置的转发对象把数据传送给结果页面
request.getRequestDispatcher("qry2.jsp").include(request, response);
}
JSP:
<body>
<!-- 提取Serverlet转发过来的数据 -->
<%=request.getAttribute("id") %>
<%=request.getAttribute("name") %>
<%=request.getAttribute("email") %>
</body>
假如查询的结果有两条,怎么通过将集合用request对象传递给JSP并显示呢?求大神 展开
//建立查询方法
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
//将JSP页面发送过来的对象提取出来
String username=request.getParameter("name");
// 1、得到Query对象,并写入Sql语句
Query query = session.createQuery("from User where username=?");
query.setParameter(0, username);
//2、使用Query对象的list方法得到数据集合
这是Serverlet里的代码
List<User>list=query.list();
//遍历所有记录并进行查询
for (int i = 0; i < list.size(); i++) {
User user=list.get(i);
//用setAttribute将查询好的结果储存起来
request.setAttribute("id", user.getUserid());
request.setAttribute("name", user.getUsername());
request.setAttribute("email", user.getEmail());
}
//3、遍历集合获取数据
ts.commit();
System.out.println("查询成功");
HibernateSessionFactory.closeSession();
//将查询好的结果用request内置的转发对象把数据传送给结果页面
request.getRequestDispatcher("qry2.jsp").include(request, response);
}
JSP:
<body>
<!-- 提取Serverlet转发过来的数据 -->
<%=request.getAttribute("id") %>
<%=request.getAttribute("name") %>
<%=request.getAttribute("email") %>
</body>
假如查询的结果有两条,怎么通过将集合用request对象传递给JSP并显示呢?求大神 展开
1个回答
2019-03-12
展开全部
一条传的是bean,就像你写的 获取属性也可以
如果是多条,传的是list
request.setAttribute("list", list);
request.getAttribute("xxx") 获取的是list
在jsp页面用for循环得到bean 然后一个个赋值就可以了
如果是多条,传的是list
request.setAttribute("list", list);
request.getAttribute("xxx") 获取的是list
在jsp页面用for循环得到bean 然后一个个赋值就可以了
追问
我这jsp显示错误说list空指针,请问一下Serverlet里怎么把所有类型的数据对象放进List里呢,求代码
追答
查出来的时候就已经放集合里面了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询