struts-ajax实现局部刷新分页

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>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值