}
Public int getpagecount (){
// Calculate the total number of pages
Pagecount = (rowcount + pagesize-1)/pagesize;
Return pagecount;
}
Public int getbeginposition (){
// Calculate the start of the page
Beginposition = (currentpage-1) * pagesize + 1;
Return beginposition;
}
Public int getendposition (){
// Termination of calculation output page
If (currentpage> = pagecount ){
Endposition = rowcount;
} Else {
Endposition = currentpage * pagesize;
}
Return endposition;
}
Public Boolean ishasnextpage (){
// Calculate whether the next page exists
If (currentpage> = pagecount ){
Hasnextpage = false;
} Else {
Hasnextpage = true;
}
Return hasnextpage;
}
Public Boolean ishaspreviouspage (){
// Calculate whether the previous page exists.
If (currentpage <= 1 ){
Haspreviouspage = false;
} Else {
Haspreviouspage = true;
}
Return haspreviouspage;
}
Public int getfirstpage (){
Return 1;
}
Public int getpreviouspage (){
If (this. ishaspreviouspage ()){
Return currentpage-1;
}
Return currentpage;
}
Public int getnextpage (){
If (this. ishasnextpage ()){
Return currentpage + 1;
} Else {
Return currentpage;
}
}
Public int getlastpage (){
Return pagecount;
}
/**
* Retrieve page data
*
* @ Return arraylist
*/
Public arraylist getarraylist (){
Arraylist list = new arraylist ();
For (INT I = beginposition; I <= endposition; I ++ ){
List. Add (arraylist. Get (I-1 ));
}
Return list;
}
}
Connection
Package com. Ali;
ImportJava. Util. arraylist;
Import java. util. iterator;
Import java. util. List;
Import javax. servlet. servletcontext;
Import javax. servlet. http. httpservletrequest;
Import javax. servlet. http. httpservletresponse;
Import org. springframework. Context. applicationcontext;
Import org. springframework. validation. bindexception;
Import org. springframework. Web. Context. Support. webapplicationcontextutils;
Import org. springframework. Web. servlet. modelandview;
Import org. springframework. Web. servlet. MVC. simpleformcontroller;
Import com. Ali. DB. user;
Import com. Ali. util. pageutil;
Import javax. servlet. http. httpservletrequest;
Import javax. servlet. http. httpservletresponse;
Public class userlistcontroller extends simpleformcontroller {
Private iibatisdao currdao;
Private string m_pagesize;
Public userlistcontroller (){
Setcommandclass (userlistform. Class );
}
Public modelandview handlerequestinternal (httpservletrequest request,
httpservletresponse response) throws exception {
If (request. getmethod (). equals ("get")
{< br> // process http get requests
system. out. println ("do get !! ");
userlistform form = new userlistform ();
form. setpage ("1");
form. setpagesize (getpagesize ();
system. out. println ("handlerequestinternal");
return onsubmit (request, response, form, null );
}< br> else
{< br> // return onsubmit (request, response, null, null);
system. out. println ("do post !! ");
return Super. handlerequestinternal (request, response);
}< br>
}
Protected modelandview onsubmit (httpservletrequest request,
Httpservletresponse response, object command, bindexception errors)
Throws exception {
// Process http post requests
Userlistform form = (userlistform) command;
System. Out. println ("User List:" + form );
List list = This. getdao (). findusers ();
Arraylist arrlist = new arraylist ();
For (iterator I = List. iterator (); I. hasnext ();){
User user = (User) I. Next ();
System. Out. println (User );
Arrlist. Add (User );
}
Pageutil util = new pageutil (arrlist, form. getpagesize (), form
. Getpage ());
System. Out. println ("list. size =" + arrlist. Size ());
Request. setattribute ("userlist", util. getarraylist ());
Request. setattribute ("pager", util );
Return new modelandview (this. getsuccessview ());
}
Public void setdao (iibatisdao Dao ){
Currdao = Dao;
}
Public iibatisdao getdao (){
Return currdao;
}
Public String getpagesize ()
{
Return m_pagesize;
}
Public void setpagesize (string pagesize)
{
M_pagesize = pagesize;
}
}
SpecificVelocityContent
<Body>
<Form name = "userlist" method = "Post" Action = "/spring/userlist. Do">
<Input type = "hidden" name = "page">
<Input type = "hidden" name = "pagesize" value = 2>
</Form>
<Table width = "772" border = "0" align = "center" cellpadding = "0" cellspacing = "0" bgcolor = "# ffffff">
<Tr>
<TD>
<Table width = "750" border = "0" align = "center" cellpadding = "5" cellspacing = "1">
<Tr align = "center">
<TD background = "images/q_12.gif"> <SPAN class = "FF"> User Name </span> </TD>
<TD background = "images/q_12.gif" class = "FF"> site </TD>
<TD background = "images/q_12.gif"> <SPAN class = "FF"> email </span> </TD>
</Tr>
# Foreach ($ user in $ userlist)
# Set ($ color = "e9f4ff ")
# If ($ velocitycount % 2 = 0)
# Set ($ color = "ffffff ")
# End
<Tr align = "center" bgcolor = "$ color">
<TD class = "II"> $ user. GetUserName () </TD>
<TD> $ user. getsite () </TD>
<TD class = "style28"> $ user. getemail () </TD>
</Tr>
# End
</Table>
# Set ($ pagefirst = 1)
# If ($ pager)
# Set ($ pageend = $ pager. getpagecount ())
# Set ($ pageprevious = $ pager. getpreviouspage ())
# Set ($ pagenext = $ pager. getnextpage ())
# Else
# Set ($ pageend = 1)
# Set ($ pageprevious = 1)
# Set ($ pagenext = 1)
# End
<SCR platinum Pt>
Function GOTO (p ){
Userlist. Page. value = P;
Userlist. pagesize. value = 2;
Userlist. Submit ();
}
</Scr platinum Pt>
<Table width = "100%" border = "0">
<Tr>
<TD width = "98%" Height = "43" align = "right">
# If ($ pager)
Total $ pager. rowcount
Page $ pager. currentpage/$ pager. pagecount
# Else
Total 0
Page 1
# End
<A href = "# $ pagefirst" Export nclick = "Goto ($ pagefirst)"> homepage </a>
<A href = "# $ pageprevious" previous nclick = "Goto ($ pageprevious)"> previous page </a>
<A href = "# $ pagenext" extends nclick = "Goto ($ pagenext)"> next page </a>
<A href = "# $ pageend" Upload nclick = "Goto ($ pageend)"> last page </a>
</TD>
</Tr>
</Table>
</TD>
</Tr>
</Table>
</Body>