日期:2014-05-18  浏览次数:20579 次

【高分求解】SSH整合时,JSP页如何查询数据?
刚学ssh整合。 

    以前struts+hibernate的时候在jsp页查询数据我都是用dao直接查出来的,那现在用了spring了,JSP页没有service注入,就不能调用service查询,也不能调用dao查询,因为他们都需要注入的。那现在JSP页用什么查询数据呢?有朋友说放action中
查了后放入request.setAttribute(,,)   这样,可是并不是每个页面都经过action的啊!
     
    那种不在struts管理范围,但又需要显示数据的页面用什么查询呢?比如一个
ListNews.jsp这样的展示页面,不在STRUTS流程中,而且还要翻页什么的,更不能指望用ACTION了吧,import的service和DAO都不能用了(没有注入),难道还得用老方法写个不在SPRING管理范围的DAO查询DB吗?那不是又回到老路上了?!

      JSP页如何查询数据?请说说具体的解决方案.

------解决方案--------------------
每个页面都经过一下吧。。。
------解决方案--------------------
用tag
------解决方案--------------------
用tag试一下吧
------解决方案--------------------
没弄清楚,为什么不能用Action了,翻页好像也可以用吧!
至于读取数据,可以用JSTL啊;至于效率嘛,本人觉得对效率没有特殊要求的,略微牺牲那么点点,不算大问题吧
------解决方案--------------------
翻页界面做成一个back bean就OK了
加一个param.page参数

------解决方案--------------------
<%
WebApplicationContext wac = WebApplicationContextUtils.getWebApplicationContext(application);
UserService userService = wac.getBean( "userService ");

List users = userService.find();

%>
------解决方案--------------------
怪了,如果你在JSP里用DAO查询数据库,那你还要STRUTS干什么
一般是ACTION(或者再封装一曾)去操作DAO,获得数据结果集传给JSP进行显示的。很少见到有人在JSP里操作DAO的
------解决方案--------------------
<%page import= "org.springframework.context.ApplicationContext "%>
<%page import= "org.springframework.web.context.support.WebApplicationContextUtils "%>
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
UserDao userDao = (UserDao)ctx.getBean( "userDao ");
List list = userDao.getUsers();