JSP能用List分页吗

JSP能用List分页吗,第1张

汗。。这个问题今天貌似要回答第三遍了。。数据分页select top 10 from testTable where testField = 'test' and id not in(select top 0 id from testTable where testField = 'test' order by id desc ) order by id desc 这样就可以实现分页了。每次只要在后面的top 0中修改0的值就行了如果每页为10条数据第一页为0 。第二页为10,第三页则修改top 0处为30这样就实现了数据库分页。至于你说的list分页这个是可以做的。但是我推荐你使用数据库分页。数据少对你没有什么影响,但是数据多就惨了。本人最近就碰到个项目数据库中一张表存了近2000W条数据。如果10个人同时查那可就是1亿条数据了。你服务器立马崩溃而且用数据库查的效率也高。如果是在有索引的情况下。并且没有用字符类的比较的话。5秒内就能查出你所需要的数据了

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="javasql"%>

<html>

<head>

<title>分页显示</title>

</head>

<body>

<center>

<h1>人员列表</h1>

<hr>

<br>

<%--

程序可以进行关键字查询的分页

--%>

<%

// 进行乱码处理

requestsetCharacterEncoding("GB2312") ;

%>

<%!

final String jspUrl = "list_person_false_06jsp" ;

%>

<%

// 定义如下分页变量

// 1、定义没页要显示的记录数

int lineSize = 10 ;

// 2、定义一个当前是第几页

int currentPage = 1 ;

// 计算出总页数

int pageSize = 0 ;

// 总记录数 / 每页显示的记录数

int allRecorders = 30 ;

// 加入查询关键字变量

String keyWord = null ;

%>

<%

// 接收查询关键字

keyWord = requestgetParameter("kw") ;

// 接收传过来的当前页

try

{

currentPage = IntegerparseInt(requestgetParameter("cp")) ;

}

catch(Exception e)

{}

%>

<%

final String DBDRIVER = "orggjtmmmysqlDriver" ;

final String DBURL = "jdbc:mysql://localhost/mldn" ;

final String DBUSER = "root" ;

final String DBPASSWORD = "mysqladmin" ;

Connection conn = null ;

%>

<%

try

{

ClassforName(DBDRIVER) ;

conn = DriverManagergetConnection(DBURL,DBUSER,DBPASSWORD) ;

PreparedStatement pstmt = null ;

String sql = null ;

if(keyWord==null)

{

// 如果为空则没有查询,表示查询出全部

sql = "SELECT COUNT(id) from person" ;

}

else

{

sql = "SELECT COUNT(id) from person WHERE uid LIKE OR name LIKE " ;

}

pstmt = connprepareStatement(sql) ;

// 如果有查询关键字,则进行设置

if(keyWord!=null)

{

pstmtsetString(1,"%"+keyWord+"%") ;

pstmtsetString(2,"%"+keyWord+"%") ;

}

ResultSet rs = pstmtexecuteQuery() ;

if(rsnext())

{

allRecorders = rsgetInt(1) ;

}

rsclose() ;

pstmtclose() ;

// 计算总页数

pageSize = (allRecorders+lineSize-1)/lineSize ;

if(keyWord==null)

{

sql = "SELECT id,uid,name,password FROM person" ;

}

else

{

sql = "SELECT id,uid,name,password FROM person WHERE uid LIKE OR name LIKE " ;

}

pstmt = connprepareStatement(sql) ;

if(keyWord!=null)

{

pstmtsetString(1,"%"+keyWord+"%") ;

pstmtsetString(2,"%"+keyWord+"%") ;

}

rs = pstmtexecuteQuery() ;

%>

<script language="javaScript">

function openPage(curpage)

{

documentspagecpvalue = curpage ;

// alert(cupage) ;

documentspagesubmit() ;

}

function selOpenPage()

{

documentspagecpvalue = documentspageselpagevalue ;

documentspagesubmit() ;

}

</script>

<form name="spage" action="<%=jspUrl%>">

输入查询关键字:<input type="text" name="kw" value="<%=keyWord==null"":keyWord%>">

<input type="submit" value="查询">

<%

if(allRecorders>0)

{

%>

<br>

<br>

<input type="button" value="首页" onClick="openPage(1)" <%=currentPage==1"disabled":""%>>

<input type="button" value="上一页" onClick="openPage(<%=currentPage-1%>)" <%=currentPage==1"disabled":""%>>

<input type="button" value="下一页" onClick="openPage(<%=currentPage+1%>)" <%=currentPage==pageSize"disabled":""%>>

<input type="button" value="尾页" onClick="openPage(<%=pageSize%>)" <%=currentPage==pageSize"disabled":""%>>

<input type="hidden" name="cp" value="">

<font color="red" size="5"><%=currentPage%></font>

/

<font color="red" size="5"><%=pageSize%></font>

跳转到

<select name="selpage" onChange="selOpenPage()">

<%

for(int x=1;x<=pageSize;x++)

{

%>

<option value="<%=x%>" <%=currentPage==x"selected":""%>><%=x%></option>

<%

}

%>

</select>

<%

}

%>

</form>

<table border="1" width="80%">

<tr>

<td>编号</td>

<td>登陆名称</td>

<td>姓名</td>

<td>密码</td>

<td colspan="2"> *** 作</td>

</tr>

<%

int i = 0 ;

for(int x=0;x<(currentPage-1)lineSize;x++)

{

rsnext();

}

// 对于输出代码之前要求按显示的页数空出

for(int x=0;x<lineSize;x++)

{

if(rsnext())

{

i++ ;

int id = rsgetInt(1) ;

String userid = rsgetString(2) ;

String name = rsgetString(3) ;

String password = rsgetString(4) ;

%>

<tr>

<td><%=id%></td>

<td><%=userid%></td>

<td><%=name%></td>

<td><%=password%></td>

<td>更新</td>

<td>删除</td>

</tr>

<%

}

}

rsclose() ;

pstmtclose() ;

if(i==0)

{

%>

<tr>

<td colspan="6">没有任何数据!!</td>

</tr>

<%

}

%>

</table>

<%

}

catch(Exception e)

{

%>

<h2>系统出错!!!</h2>

<%

}

finally

{

connclose() ;

}

%>

</center>

</body>

</html>

自己看看吧,数据库自己建咯!

我代码中的分页

try {

count = s0102selectPageCount(); //查询数据库中的数据数目

pagesetTotalRow(count);

pageBar = pagegetToolsMenu();

Map<String,Integer> pageMap = new HashMap<String,Integer>();

pageMapput("start", pagegetStart());

pageMapput("end", pagegetEnd());

lr = thisgetS0102()Roles(pageMap);//返回个jsp的list信息

}

这要看你要在哪里分页了

在数据库分页 还是在Java代码中分页

我这里有数据库分页的和js分页的

不过我建议你用js分页的 传一个list就可以了。。

如需要源码发邮箱wanm100@vipqqcom

QQ:398329585

全部查出来就事伪分页了。你确定不会影响用户的体验。只不过伪分页更简单了。 *** 作的只是list结合。前端需要传送当前页到后台,把得到的数据封装成json格式传回前端。在通过js *** 作html的标签元素循环添加或者替换就行了 。希望对你有帮助

以上就是关于JSP能用List分页吗全部的内容,包括:JSP能用List分页吗、jsp分页查询、jsp 分页 如何处理啊!晕啊!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9749510.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存