分页是被讨论的快烂了的问题,现在的分页组件页到处都是!像有名的disply EC等等.
最近有舍友问起来,我说用组件啊,不过毕业设计用那个好像不太合适!就自己写个!不过觉得不能叫组件,就是只能简单实现罢了,有时间再修改.
1.分页bean
最近有舍友问起来,我说用组件啊,不过毕业设计用那个好像不太合适!就自己写个!不过觉得不能叫组件,就是只能简单实现罢了,有时间再修改.
1.分页bean
- package useBean;
- import java.sql.ResultSet;
- import java.util.List;
- import bean.EvaluationBean;
- public class PageDiv {
- /**
- * @param args
- */
- private int pageSize;
- private int pageNum;
- private int startRow;
- private int endRow;
- private int restPage;
- private int currentPage;
- //获得当前页数用来实现翻页
- public int getCurrentPage() {
- return currentPage;
- }
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- //获得最后一行
- public int getEndRow(List list) {
- if(this.getCurrentPage()==this.pageNum){
- this.endRow=this.getStartRow()+this.getRestPage(list)-1;
- }
- else{
- this.endRow=this.getStartRow()+this.getPageSize()-1;
- }
- return endRow;
- }
- public void setEndRow(int endRow) {
- this.endRow = endRow;
- }
- //获得总页数
- public int getPageNum(List list) {
- if(list.size()%this.getPageSize()==0){
- this.pageNum=list.size()/this.getPageSize();
- }
- else{
- this.pageNum=list.size()/this.getPageSize()+1;
- }
- return pageNum ;
- }
- public void setPageNum(int pageNum) {
- this.pageNum = pageNum;
- }
- //设置每页显示的记录数
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- //获得起始行
- public int getStartRow() {
- startRow = (this.currentPage-1)*(this.pageNum)+1;
- return startRow;
- }
- public void setStartRow(int startRow) {
- this.startRow = startRow;
- }
- //获得剩余页数
- public int getRestPage(List list) {
- if(list.size()%this.getPageSize()==0){
- this.restPage=0;
- }
- else{
- this.restPage=list.size()%this.getPageSize();
- }
- return restPage;
- }
- public void setRestPage(int restPage) {
- this.restPage = restPage;
- }
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- Link_db ld=new Link_db();
- EvaluationBean e=new EvaluationBean();
- List list=e.findEvByName("李建成");
- System.out.println("共"+list.size()+"条记录");
- PageDiv pd=new PageDiv();
- pd.setPageSize(5);
- pd.setCurrentPage(2);
- System.out.println("当前是"+pd.getCurrentPage()+"页");
- System.out.println("共"+pd.getPageNum(list)+"页记录");
- System.out.println("最后一页有"+pd.getRestPage(list)+"条记录");
- System.out.println("本页的第一行是"+pd.getStartRow()+"条记录");
- System.out.print("最后一行记录是第"+pd.getEndRow(list)+"条记录");
- }
- }
2.调用的serlet
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- response.setContentType("text/html");
- PrintWriter out = response.getWriter();
- String tname="";
- List listVo=null;
- if(request.getParameter("userName")!=null){
- tname=request.getParameter("userName");
- EvaluationBean eb=new EvaluationBean();
- listVo =eb.findEvByName(tname);
- }
- if(listVo.size()>0){
- HttpSession session=request.getSession();
- session.setAttribute("tname", tname);
- session.setAttribute("list", listVo);
- // RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/teacher.jsp");
- // rd.forward(request, response);
- response.sendRedirect("../teacher.jsp");
- }
- else{
- RequestDispatcher rd = request.getRequestDispatcher("/WEB-INF/error.jsp");
- rd.forward(request, response);
- }
- }
3.调用的jsp文件
- <body>
- <form action="" name="form1">
- <center>
- <%
- List listVo=(List)session.getAttribute("list");
- String tname=(String)session.getAttribute("tname");
- int averageScore=0;
- PageDiv pd=new PageDiv();
- pd.setPageSize(5);
- int currentPage=1;
- int pageNum=pd.getPageNum(listVo);
- if(request.getParameter("currentPage")!=null){
- currentPage=new Integer(request.getParameter("currentPage")).intValue();
- }
- pd.setCurrentPage(currentPage);
- %>
- <h2>
- <%=tname %>"老师你好!
- h2>
- <font style='font-size: 8pt'>
- 当前是第<%=pd.getCurrentPage()%>页)
- <br>
- 共<%=pd.getPageNum(listVo) %>页记录)
- <br>
- (共"<%=listVo.size() %>"项记录)
- font>
- <table width='680' border='1' cellspacing='0' cellpadding='0' bordercolor='#B8D9F2'>
- <tr>
- <td><font style='font-size: 8pt'>
- 编号
- td>
- <td><font style='font-size: 8pt'>
- 分数
- td>
- <td><font style='font-size: 8pt'>
- 课程名称
- td>
- <td><font style='font-size: 8pt'>
- 教师名称
- td>
- <td><font style='font-size: 8pt'>
- 综合评语
- td>
- tr>
- <%
- for(int i=pd.getStartRow();i<pd.getEndRow(listVo)+1;i++){
- TeacherVo vo=(TeacherVo)listVo.get(i-1);
- out.print("<tr>");
- out.print("<td><font style='font-size: 8pt'>");
- out.print(i);
- out.print("td>");
- out.print("<td><font style='font-size: 8pt'>");
- out.print(vo.getAllScore());
- out.print("td>");
- out.print("<td><font style='font-size: 8pt'>");
- out.print(vo.getCname());
- out.print("td>");
- out.print("<td><font style='font-size: 8pt'>");
- out.print(vo.getTname());
- out.print("td>");
- out.print("<td><font style='font-size: 8pt'>");
- out.print(vo.getCompre_reviews());
- out.print("td>");
- out.print("tr>");
- }
- %>
- <tr>
- <td colspan='5' align='right'>
- <font style='font-size: 8pt'><a href='teacher.jsp?currentPage=1'>第一页a>
- <% if(pd.getCurrentPage()==1){%>
- <font style='font-size: 8pt'><a href='teacher.jsp?currentPage='>上一页a>
- <%} else{%>
- <font style='font-size: 8pt'><a href='teachert.jsp?currentPage='>上一页a>
- <%} %>
- <% if(pd.getCurrentPage()==pd.getPageNum(listVo)){%>
- <font style='font-size: 8pt'><a href='teacher.jsp?currentPage='>下一页a>
- <%} else{%>
- <font style='font-size: 8pt'><a href='teacher.jsp?currentPage='>下一页a>
- <%} %>
- <font style='font-size: 8pt'><a href='teacher.jsp?currentPage=5'>最后一页a>
- <input type="button" value="翻到" onclick="T()" class="btn6">
- <input name="currentPage" size="3" value=<%=pd.getCurrentPage()%>>页
- td>
- tr>
- table>
- <br>
- <script>
- function T(){
- var i=form1.currentPage.value;
- alert(i);
- var j=<%=pageNum%>;
- if((i>0)&&(i<j)){
- window.location="teacher.jsp?currentPage="+i;
- }
- else{
- window.location="teacher.jsp?currentPage="+j;
- }
- }
- script>
- form>
- body>