(1) Pieces Control class
/ * @Author Nick
* CREATED ON 2004-3-18
* File Name: PageController.java
*
*
* /
Package com.tower.util;
/ **
* @Author Nick
* 2004-3-18
* Used to turn page control
*
* /
Public class pageController {
INT TOTALROWSAMOUNT; / / total number
Boolean rowsamountset; // Whether to set TOTALROWSAMOUNT
INT PageSize = 2; // Variety per page
INT CurrentPage = 1; // Current page number
Int nextpage;
INT Previouspage;
INT TOTALPAGES; / / total page
Boolean Hasnext; // Is there a next page
Boolean Hasprevious; // Is there a previous page
String description;
INT PagestartRow;
Int pagendrow;
Public pageController (int Totalrow) {
SetTotAlrowsAmount (TotalRows);
}
Public pageController () {}
/ **
* @Param I
* Set the total number of lines
* /
Public void settotalrowsamount (int i) {
IF (! this.rowsamountset) {
Totalrowsamount = i;
Totalpages = Totalrowsamount / Pagesize 1;
SetCurrentPage (1);
THIS.ROWSAMOUNTSET = TRUE;
}
}
/ **
* @Param I
*
* current page
*
* /
Public void setCurrentPage (INT i) {
CurrentPage = i;
NextPage = CURRENTPAGE 1;
PreviousPage = CURRENTPAGE-1;
// Calculate the current page to start rows and end lines
CurrentPage * Pagesize PageEndrow = CURRENTPAGE * PAGESIZE PagestRow = PageEndrow-Pagesize 1; } else { PageEndrow = TotalRowsamount; PageStartrow = PageSize * (Totalpages-1) 1; } / / Is there a previous page and IF (NextPage> Totalpages) { Hasnext = FALSE; } else { Hasnext = True; } IF (previouspage == 0) { HaspRevious = false; } else { Hasprevious = true; } System.out.println (this.Description ()); } / ** * @Return * / Public int getcurrentpage () { Return CurrentPage; } / ** * @Return * / Public boolean ishasnext () { Return hasnexT; } / ** * @Return * / Public boolean ishasis () { Return Hasprevious; } / ** * @Return * / Public int getNextPage () {Return nextPage; } / ** * @Return * / Public int getpagesize () { Return PageSize; } / ** * @Return * / Public int getPreviouspage () { Return Previouspage; } / ** * @Return * / Public int gettotalpages () { Return Totalpages; } / ** * @Return * / Public int gettotalrowsamount () { Return TotalrowsAmount; } / ** * @Param B * / Public void sethasnext (boolean b) { Hasnext = B; } / ** * @Param B * / Public void setHasprevious (Boolean B) { HaspRevious = B; } / ** * @Param I * / Public void setnextPage (INT i) { NextPage = i; } / ** * @Param I * / Public void setpageSize (int i) { PageSize = i; } / ** * @Param I * / Public void setpreviouspage (int i) { Previouspage = i; } / ** * @Param I * / Public void setTotalpages (INT I) { Totalpages = i; } / ** * @Return * / Public int getpagendrow () { Return PageEndRow; } / ** * @Return * / Public int getpagestRow () { Return PagestartRow; } Public string getdescription () { String description = "Total:" this.gettotalrowsamount () "items" this.gettotalpages () "pages"; // this.currentpage "previous" this.hasprevious // "Next:" this.hasnext // "START ROW:" this.pagestRow // "End Row:" this.pageendrow; Return description; } Public string description () { String description = "Total:" this.gettotalrowsamount () "items" this.gettotalpages () "Pages, Current Page:" THIS.CURRENTPAGE "previous" this.hasprevious "Next:" this.hasnext "Start Row:" this.pagestRow "End Row:" this.pageendrow; Return description; } Public static void main (string args []) { PageController PC = New PageController (3); System.out.println (pc.getdescription ()); // pc.setcurrentpage (2); // system.out.println (pc.description ()); // pc.setcurrentpage (3); // system.out.println (pc.description ()); } } (2) Query the code snippet of Action Public ActionForward Execute ActionMapping mapping, Actionform Form, HTTPSERVLETREQUEST REQUEST, Httpservletresponse response Throws exception { Base queryform = (base) form; IF (! queryform.getname (). Equals ("")) { PageController PC = New PageController (); Employeebase service = new EmployeeBase (); ArrayList Result = (arraylist) Service.Search (Queryform, PC); HttpSession session = request.getations (); Session.setttribute ("Queryform", queryform); Session.SetaTRibute ("PageController", Service.getPageController ()); Request.setattribute ("QueryResult", Result; Request.setttribute ("PageController", Service.getPageController ()); Return mapping.findforward ("haveresult"); } else { Return mapping.findforward ("noresult"); } } (3), page the code snippet Public ActionForward Execute ActionMapping mapping, Actionform Form, HTTPSERVLETREQUEST REQUEST, Httpservletresponse response Throws exception { // Read forward page parameters TurnPageform Turnpageform = (TurNPageform) Form; / / Take the query information from the PageController and use the call interface processing result provided by Bean. HttpSession session = request.getations (); PageController PC = (pageController) session.getattribute ("PageController"); Base queryform = (base) session.getattribute ("queryform"); pc.setcurrentpage (TurnPageform.getViewPage ()); Employeebase service = new EmployeeBase (); ArrayList Result = (arraylist) Service.Search (Queryform, PC); / / Write data to request according to parameters Request.RemoveAttribute ("queryResult"); Request.RemoveAttribute ("PageController"); Request.setattribute ("QueryResult", Result; Request.setttribute ("PageController", PC); // forward to the display page Return mapping.findforward ("haveresult"); } (4) Database Access to Pieces in Beans Public Collection Search (Base Base, PageController PC) Throws sqlexception { ArrayList Emps = new arraylist (); ResultSet RS = GetSearchResult (BASE); Rs.absolute (-1); Pc.SettotAlrowsamount (Rs.Getrow ()); SETPAGECONTROLLER (PC); IF (rs.getrow ()> 0) { rs.absolute (pc.getpagestartrow ()); Do { System.out.println ("in loop" qGetrow ()); Base b = new base (); B.setname (rs.getstring ("name"); B.setidcard (rs.getstring ("iDCard")); System.out.println ("from DB:" rs.getstring ("iDCard")); Emps.Add (b); IF (! rs.next ()) { Break; } } while (rs.getrow () <(pc.getpageendrow () 1)); } Return EMPS; } (5) Code pieces in JSP Previous logic: Equal> NEXT logic: Equal>