farmarker分页

1. page.ftl文件

<#--

page 当前页码

totalpage 总页数

pageCount 每页条数

goUrl 分页请求url

 -->

<#macro p page totalpage>
    <#assign ipage=page>
    <#assign pCount=10>

     <#if (totalpage>9)>
  <a href="javascript:pagination('1')">首页</a>
     </#if>
    <#-- 前一页 -->
    <#if ipage gt 1>
        <a href="javascript:pagination('${ipage - 1}')">前页</a>
    <#else>
        <span class="disabled">前页</span>
    </#if>

  <#if (totalpage<10)>       <#-->总页数小于10的情况每页都显示 <--> 
     <#list 1..totalpage as plist>
     <#if plist==ipage>
    <span  class="current"> ${plist}</span>
   <#else>
    <a href="javascript:pagination('${plist}')">${plist}</a>
    </#if>
     </#list>
  <#else>
   <#assign start=ipage-4>
  
   <#if (start<1)>
   <#assign start=1>
  </#if>

   <#assign end =start+8>
  
  <#if (end>totalpage)> 
    <#assign end =totalpage>
    <#assign start =end-8>
     <#if (start<1)>
    <#assign start=1>
   </#if>
  </#if>

  <#list start..end as plist>
     <#if plist==ipage>
    <span  class="current"> ${plist}</span>
   <#else>
    <a href="javascript:pagination('${plist}')">${plist}</a>
    </#if>
     </#list>
           
     </#if>

    <#-- 后一页 -->
    <#if ipage lt totalpage>
        <a href="javascript:pagination('${ipage + 1}')">后页</a>
    <#else>
        <span class="disabled">后页</span>
    </#if>
      <#if (totalpage>9)>
  <a href="javascript:pagination('${totalpage}')">末页</a>
     </#if>
    &nbsp;&nbsp;&nbsp; 共${totalpage}页

 <script language="javascript">
   function pagination(no){
     document.form.action="${goUrl}?pageCount=${pCount}&totalpage=${totalpage}&page="+no;
     document.form.submit();
   }
 </script>
</#macro>
2. jsp页面

引入模板

<#import "*/pages/page.ftl" as pager>
在显示分页处添加

<div class=pagination><@pager.p page=page totalpage=totalpage /></div>

页面中添加form用于提交查询条件,注意name要和上面定义的一致

  <form name="form"  method="post">
 <INPUT TYPE="hidden" NAME="postdata" value='${postdata !""}'>
  </form>

css定义:

.pagination {
 padding: 10px;float:right;font-size:12px;
}

.pagination a, .pagination a:link, .pagination a:visited {
 padding: 2px 5px;margin: 2px;border: 1px solid #aaaadd;text-decoration: none;color: #006699;
 }
.pagination a:hover, .pagination a:active {
 border: 1px solid #ff0000;color: #000;text-decoration: none;
 }
.pagination span.current {
 padding: 2px 5px;margin: 2px;border: 1px solid #aaaadd;font-weight: bold;background-color: #336699;color: #FFF;
 }
.pagination span.disabled {
 padding: 2px 5px;margin: 2px;border: 1px solid #eee; color: #ddd;
 }

3. action

public class PageAction extends ActionSupport {

 
 private static final long serialVersionUID = 6522655786306820295L;
 protected Integer totalpage;//总页数
 protected Integer page;//当前页
 protected Integer pageCount;//每页数
 protected String goUrl;
 
 public void prepare() throws Exception {
  super.prepare();
  if(page==null||page.equals("")||page==0)page=1;
  if(pageCount==null||pageCount.equals("")||pageCount==0)pageCount=10;
 }
 public boolean getTotal()
 {
  return (totalpage==null||totalpage.equals("")||totalpage==0);
 }
 public void setTotalpage(Integer totalpage) {
  this.totalpage = totalpage;
 }
 public Integer getTotalpage() {
  return totalpage;
 }
 public void setPage(Integer page) {
  this.page = page;
 }
 public Integer getPage() {
  return page;
 }
 public void setPageCount(int pageCount) {
  this.pageCount = pageCount;
 }
 public int getPageCount() {
  return pageCount;
 }
 public void setGoUrl(String goUrl) {
  this.goUrl = goUrl;
 }
 public String getGoUrl() {
  return goUrl;
 }
}

 

public class StaffAction extends PageAction {

 
 private static final long serialVersionUID = -6987816268505928087L;
 private IManagerStaff  managerStaff;

 private List<Staff> stafflist;
 
 
 public void prepare() throws Exception {
  super.prepare();
  managerStaff=(IManagerStaff)this.context.getBean("managerStaff");
 }
  public String Query()
 {
   return "Query";
 }
 public String List()
 {

 //总页数为空时先查询总页数
  if(getTotal())totalpage=managerStaff.getTotalPage(pageCount);
  goUrl="StaffList.action";
  stafflist=managerStaff.List(page,pageCount);
  return "List";
 }
 public void setStafflist(List<Staff> stafflist) {
  this.stafflist = stafflist;
 }
 public List<Staff> getStafflist() {
  return stafflist;
 }

  
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值