0
点赞
收藏
分享

微信扫一扫

jstl+EL+jsp 分页程序


 今天看了很多人写的分页程序,刚绝都太繁杂了。刚绝能不能再写简单一点 ,所以就花了一个多小时写了个jstl+EL+jsp的枫叶程序,代码相当简单,并且容易理解,也容易修改成自己的分页程序。先把代码贴出来看看:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@include file="inner/jstl.jsp"%>
<%@include file="inner/DataSource.jsp"%>

<%
if (request.getParameter("currentPage") == null)
{
pageContext.setAttribute("currentPage",
new Integer(0));
} else
{

pageContext.setAttribute("currentPage", request
.getParameter("currentPage"));
}
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>Paging show</title>
</head>

<body>
<sql:query sql="select * from new_components" var="news">

</sql:query>

<c:set var="resultNum">
<jsp:getProperty name="news" property="rowCount" />
</c:set>
<c:set var="PerPageNum" value="5" />


<%
int perPageNum = Integer.parseInt((String) pageContext
.getAttribute("PerPageNum"));
int resultNum = Integer.parseInt((String) pageContext
.getAttribute("resultNum"));
int pageNum = (int) (resultNum / perPageNum + 1);

for (int i = 0; i <= pageNum; i++)
{
%>
<a href="showDB.jsp?currentPage=<%=i%>">link<%=i%></a>

<%
}
%>
<div>
<table id="cc" border="2">
<c:forEach var="new" items="${news.rows}"
begin="${currentPage*PerPageNum}"
end="${PerPageNum+currentPage*PerPageNum-1}">
<tr>
<td>
${new.link}
</td>
<td>
${new.name}
</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>



---------------------------------------------------

jstl.jsp页面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="functions"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x"%>

DataSource.jsp页面:

<sql:setDataSource url="jdbc:mysql://localhost:3306/news" driver="com.mysql.jdbc.Driver" user="***"
password="****" />





下面我们来解释一些变量:


假设你有26记录,你希望每一页显示5,那么你需要6页


currentPage 就是标志6里面的任意一页,这是通过超链接实现的。


resultNum  也就是所有的26条记录


PerPageNum 希望每一页显示的记录条数



Ok有了这些你就可以了。你可以修改一下数据库,然后运行一下就能看到效果


举报

相关推荐

0 条评论