本篇内容主要讲解“Struts2分页的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Struts2分页的实现方法”吧!
网站的建设成都创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为成都OPP胶袋等企业提供专业服务。
1.介绍
(1)Struts2相当于是servlet,和servelt不同的是当提交到struts.xml中之后,通过aciton标签就可以直接调用想用的方法,减少了代码量。
(2)在ActionSuport中set方法是注入,即是set方法是获取jsp页面中传过来的值,get方法是是向jsp页面发送值,值得一提的是有了get和set方法之后就取代了servlet中的
request.getParameter("");和重定向的操作。在这里要重点理解get和set方法的使用。
(3)在struts2分页中set和set方法更能突出它的用法。
2.下面来看实例把!
(1)首先访问这个页面时就应该查找出nowPage为1信息,所以在action中要判断nowPage是否为空。
在jsp页面的分页判断可以写为:
当然可以在Page中封装好nowPage的判断,在这里主要介绍action。
当点击下一页的时候会连接到findAllPro.action这个struts.xml中的action,
struts.xml 文件为:
./list.jsp
从struts.xml中可以看出findAllPro连接到的是cn.csdn.hr.action.ProvinceAction下的findAll方法,我们去找ProvinceAction,为:
// 分页查询 public String findAll() { if ("".equals(nowPage) || nowPage == null) { this.nowPage = 1; } System.out.println(nowPage + "=============="); page = new PageWhere("Province", nowPage, "where 1<2"); // page= page.getDatas(); return SUCCESS; }
因为要返回到jsp页面,所以要写一个get方法来把page传到jsp页面中:
// 得到page的值 ,并把得到的值放到page中,page可以获取所有的东西 private PageWhere page; public PageWhere getPage() { return page; }
这样就把当前页的信息传到了jsp中,但是在分页的时候因为nowPage是jsp和struts2来回传的值,并且是一个变量,所以设置一个属性nowPage,生成get和set方法,来获取nowPage和把修改的nowPage传到jsp中,整个ProvinceAction页面为:
package cn.csdn.hr.action; import cn.csdn.hr.HibernateUtil.PageWhere; import cn.csdn.hr.domain.Province; import cn.csdn.hr.service.ProvinceService; import cn.csdn.hr.service.ProvinceServiceImpl; import com.opensymphony.xwork2.ActionSupport; public class ProvinceAction extends ActionSupport { /** * get方法是向jsp页面中传值 set方法向获取jsp页面的值 */ private static final long serialVersionUID = 1L; private ProvinceService provinceService = new ProvinceServiceImpl(); private Integer id; private String name; public ProvinceAction() { super(); } // 通过页面注入进来的。id的名称一定要和表单中 的一致 public void setId(Integer id) { this.id = id; } public void setName(String name) { this.name = name; } // 接收传过来的nowPage private Integer nowPage; public void setNowPage(Integer nowPage) { this.nowPage = nowPage; } public Integer getNowPage() { return nowPage; } // 得到page的值 ,并把得到的值放到page中,page可以获取所有的东西 private PageWhere page; public PageWhere getPage() { return page; } // 分页查询 public String findAll() { if ("".equals(nowPage) || nowPage == null) { this.nowPage = 1; } System.out.println(nowPage + "=============="); page = new PageWhere("Province", nowPage, "where 1<2"); // page= page.getDatas(); return SUCCESS; } }
整个jsp页面为:
以上数据和从hibernate配置的数据库中读取出来的,分页学会了,这个就是小case了。主要看其中的注释就ok了。但是在写更新的时候需要注意:
更新需要在更新完之后要在内部跳转到查询的页面,所以结果应写为:
findAllPro
记住要写type、类型。
到此,相信大家对“Struts2分页的实现方法”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
网站名称:Struts2分页的实现方法
标题来源:http://lswzjz.com/article/psideh.html