|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。分页这里我以从一个用户表中查询用户信息为例演示其用法:
1.将PageResultSet.java文件编译成class文件,并放进你的Web
使用程序的WEB-INF/classes/com/youngor/util目次下,能够对包名做响应修正。
2.在你的Action类中:
先从营业处置逻辑类中掏出数据(ArrayList或Vector格局)
UserBOuserBO=newUserBO();
Collectiondata=userBO.findUsers();//示例办法
再失掉以后页curPage和每页纪录数pageSize
intcurPage=Integer.parseInt(request.getParameter(“cur_page“));
intpageSize=15;
然后天生PageResultSet对象
PageResultSetdataList=newPageResultSet(data,curPage,pageSize);
request.setAttribute("usersList",usersList);
3.在你的JSP页面中:
<%
PageResultSetpageResultSet=(PageResultSet)request.getAttribute("usersList");
ArrayListusersList=(ArrayList)pageResultSet.getData();
for(inti=0;i<usersList.size();i++)
{
UserEOuserEO=(UserEO)usersList.get(i);%>
<tr>
<td><ahref="view_user.do?id=<%=userEO.getId()%>"><%=userEO.getUsername()%></a></td>
<td><%=userEO.getName()%></td>
<td><%=userEO.getPhoneNumber()%></td>
<td><%=userEO.getEmailBox()%></td>
<td><%=userEO.getAddress()%></td>
<td><%=userEO.getPostcode()%></td>
</tr>
<%}%>
</table></td>
</tr>
</table>
<!--显现分页工具栏-->
<%=pageResultSet.getToolBar("list_users.do")%>
注重:
1、假如你以为分页工具栏不克不及满意你的请求,能够用PageResultSet类中的大众办法
first()、previous()、next()、last()定制本人的工具栏,而且,你还能够在PageResultSet中界说多个款式的工具栏;
2、getToolBar(Stringurl)办法承受带查询字符串的参数,好比“list_users.do?class_id=1“。
//PageResultSet.java
packagecom.youngor.util;
importjava.util.*;
/**
*<p>Title:PageResultSet</p>
*
*<p>Description:分页类</p>
*
*<p>Copyright:Copyright(c)2004</p>
*
*<p>Company:youngor-studio(http://www.54youngor.com)</p>
*@author:伍维波
*@version1.0
*/
publicclassPageResultSet{
/**
*分页数据
*/
privateCollectiondata=null;
/**
*以后页
*/
privateintcurPage;
/**
*每页显现的纪录数
*/
privateintpageSize;
/**
*纪录行数
*/
privateintrowsCount;
/**
*页数
*/
privateintpageCount;
publicPageResultSet(Collectiondata){
this.data=data;
this.curPage=1;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount=(int)Math.ceil((double)rowsCount/pageSize);
}
publicPageResultSet(Collectiondata,intcurPage){
this.data=data;
this.curPage=curPage;
this.pageSize=10;
this.rowsCount=data.size();
this.pageCount=(int)Math.ceil((double)rowsCount/pageSize);
}
publicPageResultSet(Collectiondata,intcurPage,intpageSize){
this.data=data;
this.curPage=curPage;
this.pageSize=pageSize;
this.rowsCount=data.size();
this.pageCount=(int)Math.ceil((double)rowsCount/pageSize);
}
/**
*getCurPage:前往以后的页数
*
*@returnint
*/
publicintgetCurPage(){
returncurPage;
}
/**
*getPageSize:前往分页巨细
*
*@returnint
*/
publicintgetPageSize(){
returnpageSize;
}
/**
*getRowsCount:前往总纪录行数
*
*@returnint
*/
publicintgetRowsCount(){
returnrowsCount;
}
/**
*getPageCount:前往总页数
*
*@returnint
*/
publicintgetPageCount(){
returnpageCount;
}
/**
*第一页
*@returnint
*/
publicintfirst(){
return1;
}
/**
*最初一页
*@returnint
*/
publicintlast(){
returnpageCount;
}
/**
*上一页
*@returnint
*/
publicintprevious(){
return(curPage-1<1)?1:curPage-1;
}
/**
*下一页
*@returnint
*/
publicintnext(){
return(curPage+1>pageCount)?pageCount:curPage+1;
}
/**
*第一页
*@returnboolean
*/
publicbooleanisFirst(){
return(curPage==1)?true:false;
}
/**
*第一页
*@returnboolean
*/
publicbooleanisLast(){
return(curPage==pageCount)?true:false;
}
/**
*猎取以后页数据
*@returnCollection
*/
publicCollectiongetData(){
CollectioncurData=null;
if(data!=null){
intstart=(curPage-1)*pageSize;
intend=0;
if(start+pageSize>rowsCount)
end=rowsCount;
else
end=start+pageSize;
ArrayListarrayCurData=newArrayList();
ArrayListarrayData=null;
VectorvectorCurData=newVector();
VectorvectorData=null;
booleanisArray=true;
if(datainstanceofArrayList){
arrayData=(ArrayList)data;
isArray=true;
}elseif(datainstanceofVector){
vectorData=(Vector)data;
isArray=false;
}
for(inti=start;i<end;i++){
if(isArray){
arrayCurData.add(arrayData.get(i));
}else{
vectorData.add(vectorData.elementAt(i));
}
}
if(isArray){
curData=(Collection)arrayCurData;
}else{
curData=(Collection)vectorCurData;
}
}
returncurData;
}
/**
*猎取工具条
*@returnString
*/
publicStringgetToolBar(StringfileName){
Stringtemp="";
if(fileName.indexOf("?")==-1)
{
temp="?";
}
else
{
temp="&";
}
Stringstr="<formmethod=postname=frmPageaction="+fileName+">";
str+="<palign=center>";
if(isFirst())
str+="首页上一页";
else
{
str+="<ahref="+fileName+temp+"cur_page=1>首页</a>";
str+="<ahref="+fileName+temp+"cur_page="+(curPage-1)+">上一页</a>";
}
if(isLast())
str+="下一页尾页";
else
{
str+="<ahref="+fileName+temp+"cur_page="+(curPage+1)+">下一页</a>";
str+="<ahref="+fileName+temp+"cur_page="+pageCount+">尾页</a>";
}
str+="共<b>"+rowsCount+"</b>笔记录";
str+="转到<selectname=pageonChange="location="+fileName+temp+"cur_page=+this.options[this.selectedIndex].value">";
for(inti=1;i<=pageCount;i++)
{
if(i==curPage)
str+="<optionvalue="+i+"selected>第"+i+"页</option>";
else
str+="<optionvalue="+i+">第"+i+"页</option>";
}
str+="</select></p></form>";
returnstr;
}
}
不得不提一下的是:.net是看到java红,而开发出来的工具。 |
|