‘壹’ java的jsp如何分页显示查询结果
分页显示一般有两种实现方式:业务层分页、数据库层分页(以下会用到两个参数,提前说明下 page:请求第几页,size:每页显示多少条)
业务层分页:从数据库取出所有数据,然后通过传过来的page和size对所有数据截取,比如一共查了100条数据,保存在list里面,要求查询第2页,每页显示10条,则可以通过list属性,取100条数据 中的第11条到第20条,可通过遍历实现。
数据库层分页:数据库都会有分页函数(mysql 是limit函数,sqlServer是row_number()函数,可自行网络下)该方法是通过传过来的page和size在查询数据库时就开始分页,以mysql为例,查询第2页,每页显示10条,则sql语句是 ”select * from XX limit 10,10“(第一个10表示从下标为10开始查,第二个10是共读取10条)
性能肯定是第二种分页方式好,只要搞懂分页原理,想实现分页其实很简单,只要搞清楚分页是将多条数据中的某几条挑出来
‘贰’ 在jsp页面如何对进行所查询出的结果再分页
jsp中分页显示查询到的数据是通过foreach标签控制的,一般是显示首页,下一页,上一页,尾页这些连接项。
‘叁’ 求大神,,jsp连接数据库并分页的代码(分页代码实在jsp中实现的)
<%@ page language="java" import="java.util.*,java.sql.ResultSet" contentType="text/html; charset=utf-8"%>
<%@page import="com..TrainingDAO"%>
<%@page import="com.db.DBUtil"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
ResultSet rs = null;
rs = .find();//根据后台的查询方法查询数据,你也可以在把你的查询方法放在jsp页面中,这个就要你自己写了,也就一个jdbc连接,然后查询数据库
//设置每张网页显示三笔记录(每页显示的记录数)
int PageSize=30;
//设置欲显示的页数(初始页)
int ShowPage=1;
//ResultSet的记录笔数(总记录数)
int RowCount=0;
//ResultSet分页后的总数(总页数)
int PageCount=0;
try{
//将指标移至最后一条记录
rs.last();
//获取记录总数
RowCount=rs.getRow();
}catch(Exception ex){
out.print("查询数据库连接失败,请稍后重试。");
}
//计算显示的页数(关键)
PageCount=((RowCount%PageSize)==0?(RowCount/PageSize):(RowCount/PageSize)+1);
String ToPage=request.getParameter("ToPage");
//判断是否取得ToPage参数
if(ToPage!=null)
{
//取得指定显示的分页页数
ShowPage=Integer.parseInt(ToPage);
//下面的语句判断用户输入的页数是否正确
if(ShowPage>=PageCount)
{
ShowPage=PageCount;
}
else if(ShowPage<=0)
{
ShowPage=1;
}
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>培训查询</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
.inp_text{
width:120px; height:20px; border:1px solid #004000; line-height:20px;
}
/*所有链接样式*/
a:link{font-size:14px;text-decoration:none; color:#333333;}
a:visited{font-size:14px; text-decoration:none; color:#333333;}
a:active{font-size:14px; text-decoration:none; color:#FF0000;}
a:hover{font-size:14px; text-decoration:none; color:#FF0000;}
body{font-size:12px; color:#000000;}
</style>
</head>
<body>
<div align="center">
<h3>培训信息查询</h3>
</div>
<table width="800" border="1" align="center" cellpadding="4" cellspacing="0" bordercolor="#000000" style="font-size:12px; border-collapse:collapse;" >
<tr>
<th width="40" height="30" align="center">姓名</th>
<th width="30" align="center">性别</th>
<th width="30" align="center">年龄</th>
<th width="65" align="center">职务</th>
</tr>
<%
//计算欲显示页的第一笔记录位置
rs.absolute((ShowPage-1)*PageSize+1);
for(int i=1;i<=PageSize;i++){
%>
<tr>
<td height="35" align="center"><%=rs.getString("pname") %></td>
<td align="center"><%=rs.getString("gender") %></td>
<td align="center"><%=rs.getString("age") %></td>
<td align="left"><%=rs.getString("post") %></td>
</tr>
<%
if(!rs.next())
{
//跳出for循环
break;
}
}
DBUtil.closeConnection();
%>
</table>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:22px;font-size:14px; color:#000000;">
<tr>
<td valign="top">共有<%=RowCount %>条数据,当前在第<font style="font-size:14px;" color="red"><%=ShowPage %></font>页,共<%=PageCount %>页</td>
<td valign="top">
<a href="loadAll.jsp?ToPage=<%=1 %>">第一页</a>
<%
//判断当前是否在第一页,不是第一页,则显示到第一页与下一页的连接
if(ShowPage!=1)
{
%>
<a href="loadAll.jsp?ToPage=<%=ShowPage-1 %>">上一页</a>
<%
}
//判断是否在最后一页,是,则显示到最后一页和下一页
if(ShowPage!=PageCount)
{
%>
<a href="/training/loadAll.jsp?ToPage=<%=ShowPage+1 %>">下一页</a>
<a href="/training/loadAll.jsp?ToPage=<%=PageCount %>">最后一页</a>
<%
}
%>
</td>
<td valign="top">
<form action="loadAll.jsp" method="post" name="form1">
<input type="text" name="ToPage" value="<%=ShowPage %>" onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')" style="height:20px;width:30px">页
<a href="javascript:window.document.form1.submit();" style=" font-weight:bold;">GO</a>
</form></td>
</tr>
</table>
</body>
</html>
‘肆’ JSP中如何将查询数据库返回的数据分页显示在页面中
在获取完所有的list后只需要截取你所需要的一部分list就可以了,所以要知道你所需要的是从哪里开始,到哪里结束。
有很多种方法,如果只是JSP里的话可以再次遍历获取的所有list集合,然后把满足条件的截取出来,开始的list下标应该是:(你要查询的页数-1)*页面要显示的数据条数,也就是你这里的(page-1)*pageRows,结束的地方也就是page*pageRows-1了。//这样应该可以写出来了吧
建议把这个方法封装到一个类里面,一个方法就实现一种功能。
当然这是比较麻烦的,现在流行框架,以后会学到的,在hibernate框架里用query语句很容易就实现了,现在时间多,
多看看hibernate框架吧,推荐你一本书,hibernate
in
action,有中文版的。这个是你们以后入门了hibernate后看的。
public
List
listOrderByItem(int
pageRows,int
page)
{
//page是要显示的页数,pageRows是你要显示的行数
Session
session
=
this.getSession();//获取hibernate的session,hibernate自动生成的DAO里包含
String
hql
=
"from
TBL_storage
as
tbl_s
order
by
item";//hql语句
Query
query
=
session.createQuery(hql);//hibernate的query,通过session创建
query.setFirstResult((page-1)*pageRows);//设置开始的下标
query.setMaxResults(pageRows);//设置每页显示的行数
return
query.list();//得到所需要的结果集
}
‘伍’ jsp中如何分页显示查询到的数据
jsp中分页显示查询到的数据是通过foreach标签控制的,一般是显示首页,下一页,上一页,尾页这些连接项。
1、构建一个PageControl对象将分页所涉及到的一些关键的"控制数据"予以封装.
‘陆’ 请问jsp页面,从数据库取出所有信息怎么 做分页啊
如果要在jsp页面里实现按你要求分页的话,你可以循环方式这样写
for(int i=初始纪录树;i<最大记录数;i++){
list.add(从数据库取出的又放进去的ArrayList<对象>);
}
之后在从list里取用循环取出并输出在前台页面。这里的初始记录数为(currentPage-1)*pageSize,这里的最大记录数为currentPage*pageSize。
每次请求都是该页面,而仅仅是***.jsp?currentPage=?这个问号不同而已。
当然不赞成把JAVA代码放在JSP页面,因为它仅仅是用来展示而尽量不要参与逻辑业务。要放在控制层或业务层。比如说去请求servlet。
并且一次取所有数据的分页并不适合当数据量很大的时候。可以使用数据库分页。如mysql 用top,oracle用rownum。
‘柒’ jsp分页查询
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>分页显示</title>
</head>
<body>
<center>
<h1>人员列表</h1>
<hr>
<br>
<%--
程序可以进行关键字查询的分页
--%>
<%
// 进行乱码处理
request.setCharacterEncoding("GB2312") ;
%>
<%!
final String jspUrl = "list_person_false_06.jsp" ;
%>
<%
// 定义如下分页变量
// 1、定义没页要显示的记录数
int lineSize = 10 ;
// 2、定义一个当前是第几页
int currentPage = 1 ;
// 计算出总页数
int pageSize = 0 ;
// 总记录数 / 每页显示的记录数
int allRecorders = 30 ;
// 加入查询关键字变量
String keyWord = null ;
%>
<%
// 接收查询关键字
keyWord = request.getParameter("kw") ;
// 接收传过来的当前页
try
{
currentPage = Integer.parseInt(request.getParameter("cp")) ;
}
catch(Exception e)
{}
%>
<%
final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
final String DBURL = "jdbc:mysql://localhost/mldn" ;
final String DBUSER = "root" ;
final String DBPASSWORD = "mysqladmin" ;
Connection conn = null ;
%>
<%
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(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 = conn.prepareStatement(sql) ;
// 如果有查询关键字,则进行设置
if(keyWord!=null)
{
pstmt.setString(1,"%"+keyWord+"%") ;
pstmt.setString(2,"%"+keyWord+"%") ;
}
ResultSet rs = pstmt.executeQuery() ;
if(rs.next())
{
allRecorders = rs.getInt(1) ;
}
rs.close() ;
pstmt.close() ;
// 计算总页数
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 = conn.prepareStatement(sql) ;
if(keyWord!=null)
{
pstmt.setString(1,"%"+keyWord+"%") ;
pstmt.setString(2,"%"+keyWord+"%") ;
}
rs = pstmt.executeQuery() ;
%>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
// alert(cupage) ;
document.spage.submit() ;
}
function selOpenPage()
{
document.spage.cp.value = document.spage.selpage.value ;
document.spage.submit() ;
}
</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++)
{
rs.next();
}
// 对于输出代码之前要求按显示的页数空出
for(int x=0;x<lineSize;x++)
{
if(rs.next())
{
i++ ;
int id = rs.getInt(1) ;
String userid = rs.getString(2) ;
String name = rs.getString(3) ;
String password = rs.getString(4) ;
%>
<tr>
<td><%=id%></td>
<td><%=userid%></td>
<td><%=name%></td>
<td><%=password%></td>
<td>更新</td>
<td>删除</td>
</tr>
<%
}
}
rs.close() ;
pstmt.close() ;
if(i==0)
{
%>
<tr>
<td colspan="6">没有任何数据!!</td>
</tr>
<%
}
%>
</table>
<%
}
catch(Exception e)
{
%>
<h2>系统出错!!!</h2>
<%
}
finally
{
conn.close() ;
}
%>
</center>
</body>
</html>
自己看看吧,数据库自己建咯!
‘捌’ JSP如何分页显示数据库内容
处理方式:
一:首先sql语句,使用not in的方式处理,
在类里写一个方法
public List<> getAllByPage(int pageSize,pageNum){
......
String sql="select top"+pageSize +" * from 表名x where 字段A not in (select top "+pageSize*(pageNum-1)+" 字段A from 表名x)";
.......
rerun list;
}
其中,pageSize是页面要显示的条数,pageNum是要显示的页码,sql语句是固定的,返回一个list对象。
二:在Biz里写一个方法,调用Dao里的getAllByPage方法,传入两个参数,返回list结果集。
三:在jsp页面以url传参的方式进行页面处理和数据的显示。
使用request对象获取传入的值,进行强制类型转作为参数,传入到Biz业务类的方法中处理,返回list结果集,使用表达式的方式在页面中进行显示。
‘玖’ 求jsp页面实现分页显示数据库查询内容 代码
这个是有条件查询的分页
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.sql.*"%>
<%@page import="java.util.*" %>
<%@page import="entity.Stu"%>
<script>
</script>
<html>
<title>分页显示(jsp)</title>
<body>
<%!
int pageSize = 5;//每页显示的记录数
int pageCount = 0;//总页数%>
<%
int ageS=0;//开始年龄
int ageE=0;//结束年龄
if(request.getParameter("ageS")==null){//判断request里是否有ageS,没有:给ageS赋值并把其放到session里
ageS=18;
session.setAttribute("ageS",ageS);
}else{ //有的话,再对session里的进行判断
if(!session.getAttribute("ageS").equals(request.getParameter("ageS"))){ //如果session里的值和request里的值不同
ageS=Integer.parseInt(request.getParameter("ageS").toString());//那么把request里的值赋值给ageS,并放进session里
session.setAttribute("ageS",request.getParameter("ageS"));
}else{
ageS=Integer.parseInt(session.getAttribute("ageS").toString());//否则 ageS直接从session里读取
}
}
if(request.getParameter("ageE")==null){
ageE=25;
session.setAttribute("ageE",ageE);
}else{
if(!session.getAttribute("ageE").equals(request.getParameter("ageE"))){
ageE=Integer.parseInt(request.getParameter("ageE").toString());
session.setAttribute("ageE",request.getParameter("ageE"));
}else{
ageE=Integer.parseInt(session.getAttribute("ageE").toString());
}
}
Connection conn = null;
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, "system", "zhu");
PreparedStatement st=conn.prepareStatement("select * from stu where age>="+ageS+" and age<= "+ageE+" order by sid",
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);//可滚动查询数据的结果集
ResultSet rs = st.executeQuery();
rs.last();//让游标到表中的最后一行
int rowCount = rs.getRow();//获取记录总数
//out.print("记录总数为 :"+rowCount);
//总也数的计算公式
pageCount = (rowCount % pageSize == 0) ? (rowCount / pageSize)
: (rowCount / pageSize + 1);
int showPage = 1;//当前页
%>
<%
//取得用户指定的页
String goTOPage = request.getParameter("showPage");
if (goTOPage == null) {
goTOPage = "1";
}
try {
showPage = Integer.parseInt(goTOPage);
} catch (NumberFormatException e) {
showPage = 1;
}
//当页面小于等于第一页。按第一页算 如果大于等于总页数。按最后一页算
if (showPage <= 1) {
showPage = 1;
} else if (showPage >= pageCount) {
showPage = pageCount;
}
//游标的位置(当前页-1)×每页显示的记录数+1
int posion = (showPage - 1) * pageSize + 1;
//设置游标的位置
rs.absolute(posion);
%>
<form action="" method="get"> 年龄段:<input type="text" value="<%=ageS %>" name="ageS"/>——<input type="text" value="<%=ageE %>" name="ageE"/>
<input type="submit" value="查询"/>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>序号</td>
<td>
编号
</td>
<td>
姓名
</td>
<td>
年龄
</td>
</tr>
<%
int num=showPage*pageSize-4;
int i = 0;
//循环显示表中的数据pageSize(每页显示的记录)
//rs.isAfterLase()游标是否在最后一行之后 说明后面已经没有记录
while (i < pageSize && !rs.isAfterLast()) {
%>
<tr>
<td>
<%=num %>
</td>
<td>
<%=rs.getInt("sid") %>
</td>
<td>
<%=rs.getString("sname") %>
</td>
<td><%=rs.getInt("age") %>
</td>
</tr>
<%
rs.next();
i++;
num++;
}
%>
</table>
<table width="1000">
<tr style=" vertical-align:middle;">
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=1">首页</a>
</td>
<td>
<%
if (showPage > 1) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage - 1%>">上一页</a>
<%
}else{
%>
上一页
<%} %>
</td>
<td>
<%
if (showPage < pageCount) {
%>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=showPage + 1%>">下一页</a>
<%
}else{
%>
下一页
<%} %>
</td>
<td>
<a href="page1.jsp?ageS=<%=ageS %>&ageE=<%=ageE %>&showPage=<%=pageCount%>">尾页</a>
</td>
<td>
共<%=pageCount%>页
</td>
<td>
第<%=showPage%>页
</td>
</tr>
</table>
</form>
<%
conn.close();
} catch (ClassNotFoundException e1) {
out.print(e1.getMessage());
} catch (SQLException e2) {
out.print(e2.getMessage());
}
%>
</body>
</html>
‘拾’ jsp 如何将查询结果实现分页,最好简单易懂…
jsp中分页最快捷的办法是用分页组件:
分页组件代码使用taglib实现的:
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>
<%@ attribute name="curIndex" type="java.lang.Long" required="true"%>
<%@ attribute name="pageSize" type="java.lang.Long" required="true"%>
<%@ attribute name="pagerRange" type="java.lang.Long" required="true"%>
<%@ attribute name="totalPage" type="java.lang.Long" required="true"%>
<%@ attribute name="formId" type="java.lang.String" required="true"%>
<%
long begin = Math.max(1, curIndex - pagerRange/2);
long end = Math.min(begin + (pagerRange-1),totalPage);
request.setAttribute("p_begin", begin);
request.setAttribute("p_end", end);
%>
<table class="pager">
<tr>
<% if (curIndex!=1){%>
<td><a href="javascript:gotoPage(1)">首页</a></td>
<td><a href="javascript:gotoPage(<%=curIndex-1%>)">上一页</a></td>
<%}else{%>
<td class="disabled"><a href="#">首页</a></td>
<td class="disabled"><a href="#">上一页</a></td>
<%}%>
<c:forEach var="i" begin="${p_begin}" end="${p_end}">
<c:choose>
<c:when test="${i == curIndex}">
<td class="active"><a href="#">${i}</a></td>
</c:when>
<c:otherwise>
<td><a href="javascript:gotoPage(${i})">${i}</a></td>
</c:otherwise>
</c:choose>
</c:forEach>
<% if (curIndex!=totalPage){%>
<td><a href="#">下一页</a></td>
<td><a href="#">末页</a></td>
<%}else{%>
<td class="disabled"><a href="javascript:gotoPage(<%=curIndex+1%>)">下一页</a></td>
<td class="disabled"><a href="javascript:gotoPage(<%=totalPage%>)">末页</a></td>
<%}%>
<td><a>共${totalPage}页</a></td>
<td class="input_li">跳转到:<input type="text" id="p_pageIndex" size="2" value="<c:out value="${pageIndex}"/>"/>页 <input type="button" id="gotoBtn" onclick="gotoPageByBtn()" value="GO"/></td>
<td class="input_li"> 每页:
<select id="p_pageSizeSelect" onchange="gotoPage(<%=curIndex%>)">
<option value="10" <c:if test="${pageSize==10}">selected</c:if>>10条</option>
<option value="20" <c:if test="${pageSize==20}">selected</c:if>>20条</option>
<option value="50" <c:if test="${pageSize==50}">selected</c:if>>50条</option>
</select>
</td>
</tr>
</table>
jsp中使用方法:
<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>
<%@ taglib uri="/WEB-INF/tld/fmt.tld" prefix="fmt"%>
<%@ taglib tagdir="/WEB-INF/tags" prefix="tags"%>
<head>
<style><!--分页样式-->
.pager { font: 12px Arial, Helvetica, sans-serif;}
.pager a {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;margin-right:2px;line-height:30px;vertical-align:middle;}
.pager .active a{color:red;border:none;}
.pager a:visited {padding: 1px 6px; border: solid 1px #ddd; background: #fff; text-decoration: none;}
.pager a:hover {color: #fff; background: #ffa501;border-color:#ffa501;text-decoration: none;}
.pager .input_li{padding: 1px 6px;}
</style>
<script><!--分页跳转脚本-->
function gotoPage(pageIndex){
var queryForm = document.getElementById("queryForm");
var action = queryForm.action;
var pageSize = document.getElementById("p_pageSizeSelect").value;
action += "?pageIndex=" + pageIndex + "&pageSize=" + pageSize;
//alert(action);
queryForm.action = action;
queryForm.submit();
}
function gotoPageByBtn(){
var pageIndex = document.getElementById("p_pageIndex").value;
var pageIndexInt = parseInt(pageIndex);
var totalPage = ${totalPage};
if(pageIndexInt>0 && pageIndexInt<totalPage){
gotoPage(pageIndex);
}
else{
alert("输入页数超出范围!");
}
}
</script>
</head>
<body>
<form id="queryForm" action="${basePath}/log/list" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="userName" value="<c:out value="${userName}"/>"/> </td>
<td><input type="submit" text="查询"/></td>
</tr>
</table>
</form>
<tags:pager pagerRange="10" pageSize="${pageSize}" totalPage="${totalPage}" curIndex="${pageIndex}" formId="queryForm"></tags:pager>
<table class="border">
<thead>
<tr>
<th width="100">用户名称</th>
<th width="500">操作内容</th>
<th width="200">操作时间</th>
</tr>
</thead>
<tbody>
<c:forEach items="${logList}" var="log">
<tr>
<td>${log.userName}</td>
<td>${log.result}</td>
<td>
<fmt:formatDate value="${log.createTime}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<tags:pager pagerRange="10" pageSize="${pageSize}" totalPage="${totalPage}" curIndex="${pageIndex}" formId="queryForm"></tags:pager>
</body>