您的位置:程序门 -> java ->



struts的分页问题, 急?急?急?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


struts的分页问题, 急?急?急?
发表于:2007-11-26 14:37:31 楼主
现在需要分页的源码那位高手能帮忙解决一下,我的数据库是mysql的,要基于mvc模式的,不希望在页面中插入java代码。
发表于:2007-11-26 14:53:521楼 得分:0
java code
sql = "select * from ( select row_.*, rownum as rownum_ from(" + 你的查询语句 + ") row_ where rownum <= " + page*offset + ") where rownum_ > " + (page-1)*offset; page为当前页码,offset为每页显示多少条 每页显示10条,第一页就是0到10 offset应当是固定的,page你只需要做成参数传进来就行,向前翻就当前页减1,向后翻就当前页加1 这里所谓翻页也就是让你控制page就行了
发表于:2007-11-26 15:10:082楼 得分:0
这么简单啊老大
发表于:2007-11-26 15:11:263楼 得分:0
splitpage1.java
import   java.util.arraylist;
import   java.util.list;
import   java.util.map;

public   class   splitpage1  
{
int   start   =   0;
long   end   =   0;
private   int   pagesize,current;
private   int   currentpageno;
private   long   pagescount,pagetotalrecords;


public   int   getpagesize()   {
return   pagesize;
}
public   void   setpagesize(int   pagesize)   {
this.pagesize   =   pagesize;
}
public   int   getcurrent()   {
return   current;
}
public   void   setcurrent(int   current)   {
this.current   =   current;
}
public   int   getcurrentpageno()   {
return   currentpageno;
}
public   void   setcurrentpageno(int   currentpageno)   {
this.currentpageno   =   currentpageno;
}
public   long   getpagescount()   {
return   pagescount;
}
public   void   setpagescount(long   pagescount)   {
this.pagescount   =   pagescount;
}
public   long   getpagetotalrecords()   {
return   pagetotalrecords;
}
public   void   setpagetotalrecords(long   pagetotalrecords)   {
this.pagetotalrecords   =   pagetotalrecords;
}

public   list <map>   getpagevalue(list <map>   list)   throws   exception
{
this.pagetotalrecords   =   list.size();
if(this.pagetotalrecords==0)
{
this.pagescount   =   1;
}
else
{
if(this.pagetotalrecords%this.pagesize==0)
{
this.pagescount   =   this.pagetotalrecords/this.pagesize;
}
else
{
this.pagescount   =   this.pagetotalrecords/this.pagesize+1;
}
}
start   =   (this.current-1)   *   this.pagesize;
end   =   this.current   *   this.pagesize;
this.currentpageno   =   this.current;
if(end> this.pagetotalrecords)end=this.pagetotalrecords;
list <map>   li   =   new   arraylist();
for(int   i=start;i <end;i++)
{
li.add(list.get(i));
}
return   li;
}

public   void   getpagevalue(long   count)   throws   exception
{
this.pagetotalrecords   =   count;
if(this.pagetotalrecords==0)
{
this.pagescount   =   1;
}
else
{
if(this.pagetotalrecords%this.pagesize==0)
{
this.pagescount   =   this.pagetotalrecords/this.pagesize;
}
else
{
this.pagescount   =   this.pagetotalrecords/this.pagesize+1;
}
}
start   =   (this.current-1)   *   this.pagesize;
end   =   this.current   *   this.pagesize;
this.currentpageno   =   this.current;
if(end> this.pagetotalrecords)end=this.pagetotalrecords;
}
public   static   void   main(string[]   args)   {
//   todo   auto-generated   method   stub

}
}


action.java
//查询函数

private   void   query(httpservletrequest   request,   agentvo   agentvo)   {
//   todo   auto-generated   method   stub
try{
splitpage1   sp   =   new   splitpage1();
string   scurpages=request.getparameter("curpages");   //
int   icurpages=1;
                if(!((scurpages==null) ¦ ¦scurpages.equals("")))
                {
                icurpages=integer.parseint(scurpages);
                }
                sp.setcurrent(icurpages);
                sp.setpagesize(integer.valueof(constant.icf_per_num));
                long   page=long.valueof(icurpages)-1;
            //     list <map>   list   =   offerservice.getofferinfo(begindate,   enddate,prvoname,page,cardshop);
        //         sp.getpagevalue(offerservice.getofferlistcount(begindate,   enddate,prvoname,cardshop));
         
list <map>   list=sp.getpagevalue(agentservice.getagentinfo(agentvo));
                if(icurpages <sp.getpagescount())
                {
                        request.setattribute("nextpages",string.valueof(sp.getcurrentpageno()+1));   //
                        request.setattribute("lastpages",string.valueof(sp.getpagescount()));       //  
                }
                if(icurpages> 1)
                {
                        request.setattribute("previouspages",string.valueof(sp.getcurrentpageno()-1));     //                         request.setattribute("firstpages","1");
                }
                request.setattribute("totalrecords",   sp.getpagetotalrecords());
request.setattribute("totalpages",   sp.getpagescount());
request.setattribute("curpages",   sp.getcurrentpageno());
request.setattribute("list",   list);
}
catch(exception   e)
{
e.printstacktrace();
}
}


原理是这样,具体可以自己修改,
发表于:2007-11-26 15:23:264楼 得分:0
好谢谢!我先试着改改


快速检索

最新资讯
热门点击