谁有struts+hibernate的分页代码啊?救命啊!!可以发到

解决方案 »

  1.   

    各位高手我刚接触jboss4,为什么我的jboss4启动后有这样的提示“LifecycleException:protocol handler start failed:java.io.FileNotFountException:D:\jboss4\server\helloworld\conf\chap8.keystore<系统找不到指定文件>,我请教各位高手!这个问题整了好几天了,是不是JBOSS配置的问题,但是哪的问题!谢谢各位!
      

  2.   

    struts不是自带有serveTable.do分页的吗,而且很好用
      

  3.   

    首先创建3个类page,PageHelper,PubFunc,源码如下:
    package com.jetsoft.util;public class page {
    private int perPage = 10;// 默认的分页长度 private int page = 1; // 默认显示为第一页 private int total = 0;//记录总长度 private int startRs = 0;//总页数 private String url = "";// 跳转的路径 private String param = "";// 参数 private String hql; // 分页的hql语句 public page() {
    }
        
    public page(int perPage,int ipage,int total,String hql,String url,String param){
    this.perPage=perPage;
    this.page=ipage;
    this.total=total;
    this.startRs=(ipage - 1) * perPage;
    this.hql=hql;
    this.url=url;
    this.param=param;
    }
    /**
     * @return 返回 hql。
     */
    public String getHql() {
    return hql;
    } /**
     * @param hql
     *            要设置的 hql。
     */
    public void setHql(String hql) {
    this.hql = hql;
    } /**
     * @return 返回 page。
     */
    public int getPage() {
    return page;
    } /**
     * @param page
     *            要设置的 page。
     */
    public void setPage(int page) {
    this.page = page;
    } /**
     * @return 返回 param。
     */
    public String getParam() {
    return param;
    } /**
     * @param param
     *            要设置的 param。
     */
    public void setParam(String param) {
    this.param = param;
    } /**
     * @return 返回 perPage。
     */
    public int getPerPage() {
    return perPage;
    } /**
     * @param perPage
     *            要设置的 perPage。
     */
    public void setPerPage(int perPage) {
    this.perPage = perPage;
    } /**
     * @return 返回 startRs。
     */
    public int getStartRs() {
    return startRs;
    } /**
     * @param startRs
     *            要设置的 startRs。
     */
    public void setStartRs(int startRs) {
    this.startRs = startRs;
    } /**
     * @return 返回 total。
     */
    public int getTotal() {
    return total;
    } /**
     * @param total
     *            要设置的 total。
     */
    public void setTotal(int total) {
    this.total = total;
    } /**
     * @return 返回 url。
     */
    public String getUrl() {
    return url;
    } /**
     * @param url
     *            要设置的 url。
     */
    public void setUrl(String url) {
    this.url = url;
    }
    }
      

  4.   

    package com.jetsoft.util;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpSession;public class PageHelper {
    private HttpServletRequest request; private HttpSession session; public PageHelper(HttpServletRequest request) {
    this.request = request;
    this.session = this.request.getSession();
    } /**
     * 每页的长度
     * 
     * @param defaultPerPage
     * @return
     */
    public int doCustomPerPage(int defaultPerPage) {
    int perPage = defaultPerPage;
    String cUserPerPage = null;
    String cPerPage = PubFunc.getString(this.request, "perPage", "");
    if (!"".equals(cPerPage)) {
    this.session.setAttribute("cPerPage", cPerPage);
    }
    cUserPerPage = (String) this.session.getAttribute("cPerPage");
    if (null != cUserPerPage) {
    perPage = Integer.parseInt(cUserPerPage);
    }
    return perPage;
    } /**
     * 分页字符串
     * 
     * @param pageObject
     * @return
     */
    public String getPageBreakStr(page pageObject) {
    int page = pageObject.getPage();
    int total = pageObject.getTotal();
    int perPage = pageObject.getPerPage(); String param = pageObject.getParam();
    if(param==null||param.equals("")){
    param="?page=";
    }else{
    param=param+"&page=";
    }
    String url =pageObject.getUrl()+param;

    System.out.println("url:" + url+param);
    int totalPage = (total + perPage - 1) / perPage;
    StringBuffer strPage = new StringBuffer(); if (perPage > 0) {
    strPage.append("共");
    strPage.append(String.valueOf(total));
    strPage.append("条记录,共<font color=red>");
    strPage.append(String.valueOf(totalPage));
    strPage.append("</font>页, 每页<font color=red>");
    strPage.append(perPage);
    strPage.append("</font>条,当前是<font color=red>[第");
    strPage.append(String.valueOf(page));
    strPage.append("页]</font> "); int istart, iend;
    istart = page - 5;
    if (istart < 0) {
    istart = 0;
    }
    iend = istart + 10;
    if (iend > totalPage) {
    iend = totalPage;
    }
    istart = iend - 10;
    if (istart < 0) {
    istart = 0;
    } for (int i = istart; i < iend; i++) {
    strPage.append("<a href='" + url + "");
    strPage.append(String.valueOf(i + 1));
    strPage.append("'  class=page>");
    strPage.append(String.valueOf(i + 1));
    strPage.append("</a>");
    strPage.append("&nbsp;");
    }
    }

    int nipage = page + 1;
        if (nipage >totalPage) {
          nipage = totalPage;
        }
        int s_ipage = page - 1;
        if (s_ipage <= 1) {
          s_ipage = 1;
        }
    strPage.append("&nbsp;&nbsp;");
    strPage.append("<a href='" + url + "");
    strPage.append("1'>");
    strPage.append("<img src=/images/ico_page_top.gif alt=首页 width=15 height=14 border=0 align=absbottom class=pagepic></a>");

    strPage.append("<a href='" + url + "");
    strPage.append(String.valueOf(s_ipage));
    strPage.append("'><img src=/images/ico_page_up.gif alt=上一页 width=15 height=14 border=0 align=absbottom class=pagepic></a>");
            
    strPage.append("<a href='" + url + "");
    strPage.append(String.valueOf(nipage)); 
    strPage.append("'><img src=/images/ico_page_down.gif alt=下一页 width=15 height=14 border=0 align=absbottom class=pagepic></a>");


    strPage.append("<a href='" + url + "");
    strPage.append(String.valueOf(totalPage));
    strPage.append("'><img src=/images/ico_page_bottom.gif alt=尾页 width=15 height=14 border=0 align=absbottom class=pagepic></a>");

    strPage.append("&nbsp;&nbsp;");
    strPage.append("<select name=\"pages\"");
    strPage.append(" onchange=\"");
    strPage.append(" if(this.options[this.selectedIndex]");
    strPage.append(".value!=''){location='" + url + "");
    strPage.append("'+this.options[this.selectedIndex]");
    strPage.append(".value;}\">");
    for (int i = 1; i <= totalPage; i++) {
    strPage.append("<option value=\"" + i + "\"");
    if (i == page) {
    strPage.append("selected");
    }
    strPage.append(">" + i + "</option>");
    }
    strPage.append("</select>");
    return strPage.toString();
    }
    }
      

  5.   

    package com.jetsoft.util;import java.util.Calendar;import javax.servlet.http.HttpServletRequest;/**
     * 
     * @author 刘建 通用函数类
     */
    public class PubFunc {
    // 字符串内码转换--用于写入数据库时
    public static String encodeGB(String source, String charset) {
    if (source == null) {
    return "";
    }
    try {
    return (new String(source.getBytes("GB2312"), charset));
    } catch (Exception e) {
    return source;
    }
    } // 字符串内码转换--用于写入数据库时
    public static String encodeGB(String source) {
    return encodeGB(source, "ISO-8859-1");
    } public static String getString(HttpServletRequest request, String paramName) {
    String temp = request.getParameter(paramName);
    if (temp != null && !temp.equals("")) {
    return temp;
    } else {
    return null;
    }
    } public static String getString(HttpServletRequest request,
    String paramName, String defaultString) {
    String temp = getString(request, paramName);
    if (temp == null) {
    temp = defaultString;
    }
    return temp;
    } public static int getInt(HttpServletRequest request, String paramName)
    throws NumberFormatException {
    return Integer.parseInt(getString(request, paramName));
    } public static int getInt(HttpServletRequest request, String paramName,
    int defaultInt) {
    try {
    String temp = getString(request, paramName);
    if (temp == null) {
    return defaultInt;
    } else {
    return Integer.parseInt(temp);
    }
    } catch (NumberFormatException e) {
    e.printStackTrace();
    }
    return 0;
    }

    //  取当前日期时间的字符串,格式为"yyyy/mm/dd hh:ss:mm"
    public static String getNow() {
    Calendar now = Calendar.getInstance();
    return getDateStr(now) + " " + getTimeStr(now);
    }//  返回日历的日期字符串(格式:"yyyy/mm/dd")
    public static String getDateStr(Calendar cal) {
    return getYear(cal) + "/" + getMonth(cal) + "/" + getDay(cal);
    }

    // 返回日历的时间字符串(格式:"hh:ss:mm")
    public static String getTimeStr(Calendar cal) {
    return getHour(cal) + ":" + getMinute(cal) + ":" + getSecond(cal);
    }

    // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的年
    public static int getYear(String s) {
    try {
    return Integer.parseInt(s.substring(0, 4));
    } catch (Exception e) {
    return 1970;
    }
    } // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的月
    public static int getMonth(String s) {
    try {
    return Integer.parseInt(s.substring(5, 7));
    } catch (Exception e) {
    return 1;
    }
    } // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的日
    public static int getDay(String s) {
    try {
    return Integer.parseInt(s.substring(8, 10));
    } catch (Exception e) {
    return 1;
    }
    } // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的时
    public static int getHour(String s) {
    try {
    return Integer.parseInt(s.substring(11, 13));
    } catch (Exception e) {
    return 0;
    }
    } // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的分
    public static int getMinute(String s) {
    try {
    return Integer.parseInt(s.substring(14, 16));
    } catch (Exception e) {
    return 0;
    }
    } // 返回日期字符串("yyyy/mm/dd hh:ss:mm")的秒
    public static int getSecond(String s) {
    try {
    return Integer.parseInt(s.substring(17, 19));
    } catch (Exception e) {
    return 0;
    }
    }

    //  返回日历的年字符串
    public static String getYear(Calendar cal) {
    return String.valueOf(cal.get(cal.YEAR));
    } // 返回日历的月字符串(两位)
    public static String getMonth(Calendar cal) {
    return strLen(String.valueOf(cal.get(cal.MONTH) + 1), 2);
    } // 返回日历的日字符串(两位)
    public static String getDay(Calendar cal) {
    return strLen(String.valueOf(cal.get(cal.DAY_OF_MONTH)), 2);
    } // 返回日历的时字符串(两位)
    public static String getHour(Calendar cal) {
    return strLen(String.valueOf(cal.get(cal.HOUR_OF_DAY)), 2);
    } // 返回日历的分字符串(两位)
    public static String getMinute(Calendar cal) {
    return strLen(String.valueOf(cal.get(cal.MINUTE)), 2);
    } // 返回日历的秒字符串(两位)
    public static String getSecond(Calendar cal) {
    return strLen(String.valueOf(cal.get(cal.SECOND)), 2);
    }

    // 按长度把字符串前补0
    public static String strLen(String s, int len) {
    if (isNullStr(s)) {
    s = "";
    }
    for (int i = 0; i < len - s.length(); i++) {
    s = "0" + s;
    }
    return s;
    }

    // 判断字符串是否为空
    public static boolean isNullStr(String s) {
    if (s == null || s.trim().length() <= 0) {
    return true;
    } else {
    return false;
    }
    } // 判断字符串数组是否为空
    public static boolean isNullStr(String[] s) {
    if ((s == null) || (s.length <= 0)) {
    return true;
    } else {
    return false;
    }
    }
    }