⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 common.java

📁 这个是一个网站的简单源码
💻 JAVA
字号:
package com.jewel.tag.pagination;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import org.apache.struts.util.*;
/**
 * <p>Title: www.entel.com.cn</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: entel</p>
 * @author chendesheng
 * @version 1.0
 */

public class Common {
  private final String config = "com.jewel.tag.pagination.template";
  private  String hrefABegin = "<a href=\"";
  private  String hrefAEnd = "\">";
  private  String hrefEnd = "</a>";
  public   String First = "首页";
  public   String Prev  = "前页";
  public   String Next  = "后页";
  public   String Last  = "未页";

  public  int pageLength;
  public  int offset = 0 ;
  public  int AllElementCount = 0 ;
  public  int jumpCount = 10;
  private String jumpSplit = "&nbsp;";
  private  HttpServletRequest request;
  private  MessageResources str ;

  public Common(HttpServletRequest request){
    this.request = request;
    try{
      if(str == null){
        str = MessageResources.getMessageResources(config);
        //InputStream is = getClass().getResourceAsStream("template.properties");
        hrefABegin = str.getMessage("hrefABegin");
        hrefAEnd   = str.getMessage("hrefAEnd");
        hrefEnd    = str.getMessage("hrefEnd");
        First      = new String(str.getMessage("First").getBytes("ISO8859_1"),"gb2312");
        Prev       = new String(str.getMessage("Prev").getBytes("ISO8859_1"),"gb2312");
        Next       = new String(str.getMessage("Next").getBytes("ISO8859_1"),"gb2312");
        Last       = new String(str.getMessage("Last").getBytes("ISO8859_1"),"gb2312");
        jumpCount  = Integer.parseInt(str.getMessage("jumpCount"));
        jumpSplit  = str.getMessage("jumpSplit");
      }
      String sessionID = request.getSession(true).getId();
      String offsetValue = (String)request.getSession(true).getAttribute(sessionID+"offset");
      offset = Integer.parseInt(offsetValue);
      String pagelen = (String)request.getSession(true).getAttribute(sessionID+"length");
      pageLength = Integer.parseInt(pagelen);
      String allCount = (String)request.getSession(true).getAttribute(sessionID+"allcount");
      AllElementCount = Integer.parseInt(allCount);
    }catch(Exception e){
      System.out.println("Read Config File Error!!");
      offset=0;
      pageLength=10;
      AllElementCount=0;
    }
  }
  public String generateOffSet(String offset,String page){
    int currOffset = this.offset;
    int intOffset = Integer.parseInt(offset);
    if(intOffset < 0 ){
      intOffset = 0;
      offset = "0";
    }
    //计算总页数
    int PageCount = 0;
    if(AllElementCount % pageLength==0)
      PageCount = AllElementCount / pageLength -1;
    else
      PageCount = AllElementCount / pageLength ;
    //计算最后一页
    int intLastPage = PageCount * pageLength;
    if(intOffset>intLastPage){
      intOffset = intLastPage;
      if(Integer.parseInt(offset)>intLastPage)
        offset = ""+intLastPage;
    }
    //纠错,如果当前URL中的offset大于intLastPage或小于0时
    if(currOffset > intLastPage)
      currOffset = intLastPage;
    if (currOffset == 0 && (page.equalsIgnoreCase(First) || page.equalsIgnoreCase(Prev))) {
      return page;
    } else if (currOffset == intLastPage && (page.equalsIgnoreCase(Next) || page.equalsIgnoreCase(Last))) {
      return page;
    }

    String result=hrefABegin;
    String requestURI = request.getRequestURL().toString();
    String queryString = request.getQueryString();
    if(queryString == null){
      result = result + requestURI + "?offset=" + offset + hrefAEnd;
    }else{
      int count =queryString.indexOf("offset");
      if(count<0){
        if(queryString.indexOf("offset")<0)
          result = result + requestURI +"?"+ queryString + "&offset=" + offset + hrefAEnd;
      }else{
        StringTokenizer st = new StringTokenizer(queryString,"&");
        StringBuffer sbf = new StringBuffer();
        int tcount = st.countTokens();
        for(int i=0;i<tcount;i++){
          String tmp = st.nextToken();
          if(tmp.indexOf("offset")>=0){
            tmp = "offset="+offset;
          }
          sbf.append(tmp+"&");
        }
        queryString = sbf.toString();
        queryString = queryString.substring(0,queryString.length()-1);
        result = result + requestURI + "?" + queryString + hrefAEnd;
      }
    }
    result = result + page + hrefEnd;

    return result;
  }
  public String generateJump(int group,int currpage){
    String result = "";
    int PageCount = 0;
    if(currpage>=offset/pageLength)
      currpage -= 1;
    if(AllElementCount % pageLength==0)
      PageCount = AllElementCount / pageLength;
    else
      PageCount = AllElementCount / pageLength + 1;
    ///jumpCount出了问题,没有得到新的值。修改如下:
    int tmpJumpCount = jumpCount;
    if(tmpJumpCount>PageCount)
      tmpJumpCount = PageCount;
    if(currpage == PageCount)
      group -= 1;
    int baseLoop = group*tmpJumpCount;
    for(int i=baseLoop;i<jumpCount+baseLoop;i++){
      if(i>=PageCount)
        break;
      String offset ="" + (i*pageLength);
      if(currpage == i-1)
        result = result +"<b>"+ (i+1)+"</b>"+jumpSplit;
      else
        result = result + generateOffSet(offset,""+(i+1))+jumpSplit;
    }
    return result;
  }
  public String PageInformation(String currentPageNo){
    String result="";
    int PageCount = 0;
    if(AllElementCount % pageLength==0)
      PageCount = AllElementCount / pageLength;
    else
      PageCount = AllElementCount / pageLength + 1;
    result = str.getMessage("tags.pageInfo",""+AllElementCount,""+PageCount,currentPageNo);
    try{
      result = new String(result.getBytes("ISO8859_1"), "gb2312");
    }catch(Exception e){}
    return result;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -