Struts+Hibernate+jsp頁面 實現分頁

來源:互聯網
上載者:User

標籤:資料庫   --   分享   builds   nal   eth   nbsp   creat   html 4.01   

dao層資料庫代碼:

package com.hanqi.dao;import java.util.ArrayList;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import com.hanqi.utility.USer;public class USerDAO {        private Configuration cfg = null ;        private ServiceRegistry sr = null ;                private SessionFactory sf = null ;        private Session se = null ;        Transaction ts = null ;                        public USerDAO()        {            //初始化Hibernate            cfg = new Configuration().configure() ;                        sr = new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build() ;                    }                public void init()        {            sf = cfg.buildSessionFactory(sr) ;                        se = sf.openSession() ;                        ts = se.beginTransaction() ;        }                        public void destory()        {            ts.commit() ;                         se.close() ;                        sf.close() ;         }                                //查詢列表        public List<USer> getAll(int page)        {            List<USer> list = new ArrayList<>() ;                        init() ;                         //設定每頁兩行及起始頁            list = se.createQuery("from USer").setMaxResults(2)                        .setFirstResult((page-1)*2).list() ;                        destory();                        return list;        }}

接下來就是jsp頁面,這裡通過a標籤的get方式傳遞頁碼

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><a href="addUSer">添加使用者</a><br><br><a href="selectUSer?pages=1" >使用者列表</a></body></html>

跳轉到顯示介面

 1 <%@page import="com.hanqi.utility.USer"%> 2 <%@page import="java.util.List"%> 3 <%@ page language="java" contentType="text/html; charset=UTF-8" 4     pageEncoding="UTF-8"%> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <title>Insert title here</title>10 </head>11 <body>12 <%13 14 List<USer> list = (List<USer>)request.getAttribute("selectuser") ;15 16 for(USer us : list )17 {18     out.print(us + "<a href=‘deleteuser?user_id="+us.getUser_id()+"‘>    【刪除】</a>"19                         +"<a href=‘modify?userid="+us.getUser_id()+"‘>    【修改】</a>"20                             +"<br>") ;21 }22 int pages = Integer.parseInt(request.getParameter("pages")) ;23 24 %>25 26 <% if(list.size()==0){response.getWriter().write("頁碼超出範圍") ;27                                 response.setHeader("refresh", "3;url=selectUSer?pages=1") ;}else{ %>28 <%%>29 <a href="selectUSer?pages=<%=pages-1%>">上一頁</a>30 <a href="selectUSer?pages=<%=pages+1%>">下一頁</a>31 <%} %>32 </body>33 </html>

Struts檔案配置

1 <!-- 查詢全部 -->2         <action name="selectUSer" class="com.hanqi.action.USerAction" method="selectUSer">3         4                 <result name="fail">/WEB-INF/pages/fail.jsp</result>5         6                 <result name="success">/WEB-INF/pages/selectUSer.jsp</result>7         8         </action>

service層方法

public String selectUSer()    {        String rtn = "fail" ;                try        {//得到原生request            HttpServletRequest hsr = ServletActionContext.getRequest() ;                        int page = Integer.parseInt(hsr.getParameter("pages")) ;                        //page = Integer.parseInt(hsr.getParameter("pagess")) ;            //調用查詢的方法            List<USer> list = new UserService().getAll(page);                        hsr.setAttribute("pages", page+1);                        hsr.setAttribute("selectuser", list);                    rtn = "success" ;        }catch(Exception e)        {            e.printStackTrace();        }                return rtn;    }

 

頁碼超出時,提示錯誤(通過jsp的List來判斷)Hibernate提供的方法返回的List.size()為行數(最後一頁可能少於行數),若為零則沒有資料即可判斷

 

Struts+Hibernate+jsp頁面 實現分頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.