有热心网友回复:
str = " 转到<select name='page' onChange=\"window.location.href='" fileName temp "cur_page=' this.options[this.selectedIndex].value\">";
已经试过了,没问题
1.以下是实现分页的类PageResultSet
package page.bean; import java.util.*; public class PageResultSet { /** * 分页数据 */ private Collection data = null; /** * 当前页 */ private int curPage; /** * 每页显示的记录数 */ private int pageSize; /** * 记录行数 */ private int rowsCount; /** * 页数 */ private int pageCount; public PageResultSet(Collection data) { this.data = data; this.curPage = 1; this.pageSize = 10; this.rowsCount = data.size(); this.pageCount = (int) Math.ceil((double) rowsCount / pageSize); } public PageResultSet(Collection data, int curPage) { this.data = data; this.curPage = curPage; this.pageSize = 10; this.rowsCount = data.size(); this.pageCount = (int) Math.ceil((double) rowsCount / pageSize); } public PageResultSet(Collection data, int curPage, int pageSize) { this.data = data; this.curPage = curPage; this.pageSize = pageSize; this.rowsCount = data.size(); this.pageCount = (int) Math.ceil((double) rowsCount / pageSize); } /** * getCurPage:返回当前的页数 * * @return int */ public int getCurPage() { return curPage; } /** * getPageSize:返回分页大小 * * @return int */ public int getPageSize() { return pageSize; } /** * getRowsCount:返回总记录行数 * * @return int */ public int getRowsCount() { return rowsCount; } /** * getPageCount:返回总页数 * * @return int */ public int getPageCount() { return pageCount; } /** * 第一页 * * @return int */ public int first() { return 1; } /** * 最后一页 * * @return int */ public int last() { return pageCount; } /** * 上一页 * * @return int */ public int previous() { return (curPage - 1 pageCount) ? pageCount : curPage 1; } /** * 第一页 * * @return boolean */ public boolean isFirst() { return (curPage == 1) ? true : false; } /** * 最后一页 * * @return boolean */ public boolean isLast() { return (curPage == pageCount) ? true : false; } /** * 获取当前页数据 * * @return Collection */ public Collection getData() { Collection curData = null; if (data != null) { int start = (curPage - 1) * pageSize; int end = 0; if (start pageSize > rowsCount) end = rowsCount; else end = start pageSize; ArrayList arrayCurData = new ArrayList(); ArrayList arrayData = null; Vector vectorCurData = new Vector(); Vector vectorData = null; boolean isArray = true; if (data instanceof ArrayList) { arrayData = (ArrayList) data; isArray = true; } else if (data instanceof Vector) { vectorData = (Vector) data; isArray = false; } for (int i = start; i "; str = ""; if (isFirst()) str = "首页 上一页 "; else { str = "首页 "; str = "上一页 "; } if (isLast()) str = "下一页 尾页 "; else { str = "下一页 "; str = "尾页 "; } str = " 共" rowsCount "条记录 "; str = " 转到
"; return str; } }
2.一下是Action
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package struts.action; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import page.bean.DatabaseConn; import page.bean.PageResultSet; import page.bean.ContactBO; import struts.form.LoginForm; /** * MyEclipse Struts * Creation date: 04-02-2008 * * XDoclet definition: * @struts.action path="/login" name="loginForm" input="/login.jsp" scope="request" validate="true" * @struts.action-forward name="sss" path="/index.jsp" */ public class LoginAction extends Action { /* * Generated Methods */ /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form; ContactBO userBO=new ContactBO(); //先从业务处理逻辑类中取出数据(ArrayList或Vector格式) Collection data; try { data = userBO.findContact(DatabaseConn.getConnection()); //再得到当前页curPage和每页记录数pageSize //int curPage = Integer.parseInt((String)request.getParameter("cur_page")); int curPage = 1; String cur = request.getParameter("cur_page"); System.out.println("--------------: " cur); if(cur!=null && cur !=""){ curPage = new Integer(cur).intValue(); } int pageSize=10; //然后生成PageResultSet对象 PageResultSet dataList = new PageResultSet(data, curPage, pageSize); request.setAttribute("usersList", dataList); return mapping.findForward("sss"); } catch (Exception e) { e.printStackTrace(); return mapping.getInputForward(); } } }
3.以下是显示分页的页面
My JSP 'index.jsp' starting page