RT

解决方案 »

  1.   

    推荐框架分页:
    http://blog.csdn.net/xiaolang85/archive/2009/05/04/4148844.aspx
      

  2.   

    从Sql语句就开始支持分页。这样显示速度才能提高。
      

  3.   

    ClusterManagementService.java:import java.util.ArrayList;
    import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;import com.creawor.meip.user.UserProfileHelper;import emis.mgenius.jdbc.JDBCDAO;
    import emis.mgenius.jdbc.sqlbuilder.SqlLanguage;public class ClusterManagementService { private Log log = LogFactory.getLog(this.getClass()); private JDBCDAO jdbcDao = null; public JDBCDAO getJdbcDao() {
    return jdbcDao;
    } public void setJdbcDao(JDBCDAO jdbcDao) {
    this.jdbcDao = jdbcDao;
    } private int iCount; private int pCount; public int getICount() {
    return iCount;
    } public void setICount(int count) {
    iCount = count;
    } public int getPCount() {
    return pCount;
    } public void setPCount(int count) {
    pCount = count;
    } public List findClusterQueryShow(int page, String eid, String groupname, String groupid, String masterename) { String sqlkey = "SELECT.OA_Corporation_grouptable";
    String sqlstatkey = "STATSELECT.OA_Corporation_grouptable";
    groupid="%"+groupid+"%";
    groupname="%"+groupname+"%";
    masterename="%"+masterename+"%";
       
    List newGrouptableList = null;
    JDBCDAO dao = getJdbcDao();
    List paramList = new ArrayList(); paramList.add(eid);
    paramList.add(groupname);
    paramList.add(groupid);
    paramList.add(masterename); SqlLanguage languageStat = new SqlLanguage();
    languageStat.setKey(sqlstatkey);
    languageStat.setValueList(paramList);
    Integer statCount = null;
    try {
    dao.execute(languageStat);
    // 得到记录的总条数,转化成int类型
    log.info("--------------开始go---------------");
    List l = (List) languageStat.getResult();
    log.info("-----------------------------协作企业总记录数" + l.get(0)); statCount = Integer.valueOf(l.get(0).toString());
    log.info("--------------协作企业总记录数:" + statCount);
    } catch (Exception e) {
    e.printStackTrace();
    log.error("协作企业分页失败", e);
    } int[] num = this.dividepage(page, statCount.intValue()); SqlLanguage language = new SqlLanguage();
    language.setValueList(paramList);
    language.setKey(sqlkey);
    language.setStart(num[0]);
    language.setEnd(num[1]); try {
    dao.execute(language);
    newGrouptableList = (List) language.getResult(); } catch (Exception e) {
    e.printStackTrace();
    log.error("查询协作企业分页失败", e);
    } return newGrouptableList;
    }


    /** 
     * 计算分页
     * 
     * @param page
     * @param list
     * @param ecode
     * @return
     */
    public int[] dividepage(int page, int itemCount) { log.info("计算总页数,计算分页");
    log.info("--------当前页是--------:" + page);
    int PageSize = 10; // 每页显示记录数
    int PageCount = (itemCount + PageSize - 1) / PageSize; // 总页数
    int start = 0;
    int end = 0;
    start = (page - 1) * PageSize + 1;
    log.info("------start-------" + start);
    end = start + PageSize - 1;
    log.info("--------end-----" + end);
    if (end > itemCount) {
    end = itemCount;
    }
    this.setICount(itemCount);
    this.setPCount(PageCount); return new int[] { start, end };
    }
    }
      

  4.   

    页面传:
    <%
    String hasRowsStr = (String) request.getAttribute("hasRows");
    String totalPageStr = (String) request.getAttribute("totalPage");
    String currentPageStr = (String) request.getAttribute("currentPage");
    int hasRows = 0;
    int totalPage = 0;
    int currentPage = 0;
    if (null != hasRowsStr)
    hasRows = Integer.parseInt(hasRowsStr);
    if (null != totalPageStr)
    totalPage = Integer.parseInt(totalPageStr);
    %>
      

  5.   

    http://www.family168.com/tutorial/jsp/html/jsp-ch-15.html