struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="user" class="com.sxt.action.UserAction">
<result name="success">index.jsp</result>
</action>
</package>
</struts>
UserAction.java
package action;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.sxt.dao.UserDao;
import com.sxt.entity.PageBean;
import com.sxt.entity.User;
public class UserAction extends ActionSupport{
private PageBean pb = new PageBean();
private UserDao dao = new UserDao();
public PageBean getPb() {
return pb;
}
public void setPb(PageBean pb) {
this.pb = pb;
}
@Override
public String execute() throws Exception {
int allNum = dao.getUserNumber();
int pageNum = pb.getPageNum();
int totalPage =(allNum%pageNum==0)?(allNum%pageNum):(allNum%pageNum+1);//总页数
pb.setAllNum(allNum);
pb.setTotalPage(totalPage);
if(pb.getNowPage()<1){
pb.setNowPage(1);
}else if(pb.getNowPage()>totalPage){
pb.setNowPage(totalPage);
}
pb.setList(dao.getUser(pb.getNowPage(),pageNum));
System.out.println(pb.getList().size());
return SUCCESS;
}
}
PageBean.java
package entity;
import java.util.List;
public class PageBean {
private int nowPage = 1;//当前页码
private int totalPage;//总页数
private int pageNum = 5;//每页显示数据条数
private int allNum;//数据总条数
private List list;//当前页面显示数据
public int getNowPage() {
return nowPage;
}
public void setNowPage(int nowPage) {
this.nowPage = nowPage;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageNum() {
return pageNum;
}
public void setPageNum(int pageNum) {
this.pageNum = pageNum;
}
public int getAllNum() {
return allNum;
}
public void setAllNum(int allNum) {
this.allNum = allNum;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
User.java
package entity;
public class User {
private String uname;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
}
//dao 省
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@taglib prefix="sx" uri="/struts-dojo-tags" %>
<html>
<sx:head/>
<body>
<table width="50%" align="center">
<th>编号</th>
<th>姓名</th>
<s:iterator value="pb.list" status="st">
<s:if test="#st.odd">
<tr align="center">
</s:if>
<s:else>
<tr align="center" bgcolor="blue">
</s:else>
<td><s:property value="pb.pageNum*(pb.nowPage-1)+#st.index+1"/></td>
<td><s:property value="uname"/></td>
</tr>
</s:iterator>
</table>
<!-- 翻 页 -->
<DIV align="center">
<s:if test="pb.nowPage==1">
<s:iterator var="i" begin="1" end="pb.totalPage" step="1">
<sx:a href="user?pb.nowPage=%{i}" targets="page">${i}</sx:a>
</s:iterator>
|<sx:a href="user?pb.nowPage=%{pb.nowPage+1}" targets="page">下一页</sx:a>|
<sx:a href="user?pb.nowPage=%{pb.totalPage}" targets="page">尾页</sx:a>
</s:if>
<s:elseif test="pb.nowPage==pb.totalPage">
<sx:a href="user?pb.nowPage=1" targets="page">首页</sx:a>|
<span>当前页面为:${pb.nowPage}/${pb.totalPage}</span>|
<sx:a href="user?pb.nowPage=%{pb.nowPage-1}" targets="page" >上一页</sx:a>|
<s:iterator var="i" begin="1" end="pb.totalPage" step="1">
<sx:a href="user?pb.nowPage=%{i}" targets="page">${i}</sx:a>
</s:iterator>
</s:elseif>
<s:else>
<sx:a href="user?pb.nowPage=1" targets="page">首页</sx:a>|
<span>当前页面为:${pb.nowPage}/${pb.totalPage}</span>|
<sx:a href="user?pb.nowPage=%{pb.nowPage-1}" targets="page" >上一页</sx:a>|
<s:iterator var="i" begin="1" end="pb.totalPage" step="1">
<sx:a href="user?pb.nowPage=%{i}" targets="page">${i}</sx:a>
</s:iterator>
|<sx:a href="user?pb.nowPage=%{pb.nowPage+1}" targets="page">下一页</sx:a>|
<sx:a href="user?pb.nowPage=%{pb.totalPage}" targets="page">尾页</sx:a>
</s:else>
</DIV>
</body>
</html>
page.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%>
<html>
<sx:head/>
<body>
<sx:a href="user" targets="page">显示所有用户信息</sx:a>
<sx:div id="page"></sx:div><br/>
<input type="text"/>
</body>
</html>