struts2分页代码

来源:互联网 发布:openwrt 域名重定向 编辑:程序博客网 时间:2024/06/05 02:45

package com.test.page;

import org.apache.log4j.Logger;

public class Page {
 static final Logger logger = Logger.getLogger(Page.class);
 
 public PageValue run(PageValue value) {
  int records;
  int pages;
  
  int first;
  int last;
  int prev;
  int next;
  
  int start;
  int end;
  
  int top;
  int max;
  
  int size;
  int current;
  int psize;
  
  size = value.getSize();
  if(size < 1)size = 10;
  psize = value.getPsize();
  if(psize < 1)psize = 10;
  
  records = value.getRecords();
  if(records < 0)records = 0;
  pages = value.getPages();
  pages = (int)Math.ceil((float)records / size);
  if(pages < 1)pages = 1;
  current = value.getCurrent();
  if(current < 1)current = 1;
  if(current > pages)current = pages;
  
  first = 1;
  last = pages;
  prev = value.getPrev();
  prev = current - 1;
  if(prev < 1)prev = first;
  next = value.getNext();
  next = current + 1;
  if(next > last)next = last;
  
  start = value.getStart();
  start = current - (current % psize);
  if(start < 1)start = 1;
  end = value.getEnd();
  end = start + psize;
  if(end > pages)end = pages;
  
  top = value.getTop();
  top = (current - 1) * size;
  if(top < 0)top = 0;
  max = value.getMax();
  max += size;
  if(max < 0)max = size;
  
  value.setRecords(records);
  value.setPages(pages);
  value.setFirst(first);
  value.setLast(last);
  value.setPrev(prev);
  value.setNext(next);
  value.setStart(start);
  value.setEnd(end);
  value.setTop(top);
  value.setMax(max);
  value.setSize(size);
  value.setCurrent(current);
  value.setPsize(psize);
  
  return value;
 }
}

 

 

 

 

package com.test.page;

import java.io.Serializable;
import java.util.List;

public class PageValue implements Serializable{
 private int records;
 private int pages;
 
 private int first;
 private int last;
 private int prev;
 private int next;
 
 private int start;
 private int end;
 
 private int top;
 private int max;
 
 private int size;
 private int psize;
 private int current;
 
 private List result;
 
 
 public int getRecords() {
  return records;
 }
 public void setRecords(int records) {
  this.records = records;
 }
 public int getPages() {
  return pages;
 }
 public void setPages(int pages) {
  this.pages = pages;
 }
 public int getFirst() {
  return first;
 }
 public void setFirst(int first) {
  this.first = first;
 }
 public int getLast() {
  return last;
 }
 public void setLast(int last) {
  this.last = last;
 }
 public int getPrev() {
  return prev;
 }
 public void setPrev(int prev) {
  this.prev = prev;
 }
 public int getNext() {
  return next;
 }
 public void setNext(int next) {
  this.next = next;
 }
 public int getStart() {
  return start;
 }
 public void setStart(int start) {
  this.start = start;
 }
 public int getEnd() {
  return end;
 }
 public void setEnd(int end) {
  this.end = end;
 }
 public int getTop() {
  return top;
 }
 public void setTop(int top) {
  this.top = top;
 }
 public int getMax() {
  return max;
 }
 public void setMax(int max) {
  this.max = max;
 }
 public List getResult() {
  return result;
 }
 public void setResult(List result) {
  this.result = result;
 }
 public int getSize() {
  return size;
 }
 public void setSize(int size) {
  this.size = size;
 }
 public int getCurrent() {
  return current;
 }
 public void setCurrent(int current) {
  this.current = current;
 }
 public int getPsize() {
  return psize;
 }
 public void setPsize(int psize) {
  this.psize = psize;
 } 
}

 

 

 

jsp代码:

 

    <table>
      <tr>
       <td>&nbsp;<a href="<s:url action="indexUpload" portletMode="edit"/>">Upload</a></td>
       <td>&nbsp;<a href="<s:url action="indexFiat" portletMode="view"/>">Fiat</a></td>
       <td>&nbsp;<a href="<s:url action="indexFree" portletMode="view"/>">Freemarker</a></td>
       <td>&nbsp;<a href="<s:url action="indexDrools" portletMode="view"/>">Drools</a></td>
       <td>&nbsp;<a href="<s:url action="indexChart" portletMode="view"/>">Jfreechart</a></td>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
      </tr>  
      <tr>
       <td>&nbsp;id</td>
       <td>&nbsp;书名</td>
       <td>&nbsp;作者</td>
       <td>&nbsp;摘要</td>
       <td>&nbsp;编辑</td>
       <td>&nbsp;删除</td>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
      </tr>
 <s:iterator value="list" id="book" status="u">
      <tr>
       <td>&nbsp;<s:property value="id"/></td>
       <td>&nbsp;<s:property value="name"/></td>
       <td>&nbsp;<s:property value="author"/></td>
       <td>&nbsp;<s:property value="summary"/></td>
       <td>&nbsp;<a href="<s:url action="edit" portletMode="edit">
        <s:param name="id"><s:property value="id"/></s:param>
       </s:url>">Edit</a></td>
       <td>&nbsp;<a href="<s:url action="delete" portletMode="edit">
        <s:param name="id"><s:property value="id"/></s:param>
       </s:url>">Del</a></td>
       <td>&nbsp;</td>
      </tr>
 </s:iterator>      
      <tr>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
       <td>&nbsp;</td>
       <td>&nbsp;
        <a href="<s:url action="index">
         <s:param name="current"><s:property value="page.first"/></s:param>
        </s:url>">first</a>&nbsp;

        <a href="<s:url action="index">
         <s:param name="current"><s:property value="page.prev"/></s:param>
        </s:url>">prev</a>&nbsp;


<s:if test="%{page.end} == 1">
             <a href="<s:url action="index">
            <s:param name="current"><s:property value="page.start"/></s:param>
           </s:url>"><s:property/></a>&nbsp;

</s:if>
<s:else>
   <s:bean name="org.apache.struts2.util.Counter" id="counter">
      <s:param name="first"><s:property value="page.start"/></s:param>
      <s:param name="last"><s:property value="page.end"/></s:param>
      <s:iterator>
             <a href="<s:url action="index">
            <s:param name="current"><s:property/></s:param>
           </s:url>"><s:property/></a>&nbsp;
      </s:iterator>
   </s:bean>
</s:else>
     
        <a href="<s:url action="index">
         <s:param name="current"><s:property value="page.next"/></s:param>
        </s:url>">next</a>&nbsp;
                
        <a href="<s:url action="index">
         <s:param name="current"><s:property value="page.last"/></s:param>
        </s:url>">last</a>&nbsp;
       </td>
       <td>&nbsp;</td>
      </tr>
    </table>


 

原创粉丝点击