谁有struts+hibernate的分页代码啊?救命啊!! 谁有struts+hibernate的分页代码啊?救命啊!!可以发到 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 各位高手我刚接触jboss4,为什么我的jboss4启动后有这样的提示“LifecycleException:protocol handler start failed:java.io.FileNotFountException:D:\jboss4\server\helloworld\conf\chap8.keystore<系统找不到指定文件>,我请教各位高手!这个问题整了好几天了,是不是JBOSS配置的问题,但是哪的问题!谢谢各位! struts不是自带有serveTable.do分页的吗,而且很好用 首先创建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; }} 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(" "); } } int nipage = page + 1; if (nipage >totalPage) { nipage = totalPage; } int s_ipage = page - 1; if (s_ipage <= 1) { s_ipage = 1; } strPage.append(" "); 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(" "); 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(); }} 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; } }} tomcat6.0中运行时间长了早上起来看到几百个连接挂在那里,不能释放. CXF REST一些问题,用过的兄弟帮看下,怎么不展示父节点?怎么把数字加上双引号?字段为空也要展示节点? 着个问题困惑了我几天了,大家帮忙一下 关于越界的问题 在使用myeclipse中出现的问题? onSubmit简单问题 resin的servlet问题。 jsp + tomcat 在ie6里怎么会有session丢失问题? jrun下如何运行servlet! jbuilder6 问题 struts分页代码(能运行的)给100分 简单的数据查询问题
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;
}
}
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(" ");
}
}
int nipage = page + 1;
if (nipage >totalPage) {
nipage = totalPage;
}
int s_ipage = page - 1;
if (s_ipage <= 1) {
s_ipage = 1;
}
strPage.append(" ");
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(" ");
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();
}
}
*
* @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;
}
}
}