初学,老师教得太快了,有些跟不上了,现在用户管理里要实现一个翻页功能,主要是上一页,下一页和跳转功能。
最好能用servlet控制,JSP输出。链接的数据库是oracle。 不要让我去搜帖子,搜过了,但是改吧改吧,还是不行~能否给个简便的实现方式,让我模仿一下,不然,根本下不了手。

解决方案 »

  1.   

    贴下显示的jsp:
    <%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
    <%@page import="java.util.List"%>
    <%@page import="ibmetp.jdbc.vo.TUserVo"%>
    <%@ page language="java" import="java.sql.*,java.io.*" pageEncoding="utf-8"%>
    <%
    List<TUserVo> resultList=(List<TUserVo>)request.getAttribute("list");
    %>
    <jsp:useBean id="userService" class="ibmetp.jdbc.util.JdbcUtil" scope="page"/>
    <head>
    <meta http-equiv="Content-Language" content="zh-cn">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="Cache-Control" content="no-store"/>
    <meta http-equiv="Pragma" content="no-cache"/>
    <meta http-equiv="Expires" content="0"/>
    <title>用户查询列表</title>
    <script type="text/javascript">
    function query()
    {
    queryForm.submit();
    } function chked(checked)
    {
    var userIds=document.getElementsByName("userId");
    if(userIds!=null && userIds.length>0)
    {
    for(var i=0;i<userIds.length;i++)
    {
    userIds[i].checked=checked;
    }
    }
    } function add()
    {
    queryForm.action="../pages/userAdd.jsp";
    queryForm.submit();
    } function del()
    {
    queryForm.action="../servlet/UserDelServlet";
    queryForm.submit();
    }
    </script>
    </head><body>
    <form name="queryForm" action="UserListServlet" method="post">
    <table border="1" width="100%">
    <tr>
    <td>用户名称:</td>
    <td><input type="text" name="userName" size="20"></td>
    <td>用户编号:</td>
    <td><input type="text" name="userNo" size="20"></td>
    </tr>
    <tr>
    <td>年龄:</td>
    <td><input type="text" name="age" size="20"></td>
    <td>生日:</td>
    <td><input type="text" name="birthday" size="20"></td>
    </tr>
    <tr>
    <td>性别:</td>
    <td>
    女<input type="radio" value="0" name="sex">&nbsp;&nbsp;&nbsp; 
    男<input type="radio" value="1" name="sex">
    </td>
    <td>爱好:</td>
    <td>
    足球<input type="checkbox" name="interest" value="足球">&nbsp; 
    音乐<input type="checkbox" name="interest" value="音乐">&nbsp; 
    看书<input type="checkbox" name="interest" value="看书">&nbsp; 
    书法<input type="checkbox" name="interest" value="书法">&nbsp; 
    篮球<input type="checkbox" name="interest" value="篮球">
    </td>
    </tr>
    <tr>
    <td>地址:</td>
    <td colspan="3"><input type="text" name="address" size="79"></td>
    </tr>
    <tr>
    <td colspan="4">
    <input type="button" value="查询" name="queryBtn" onclick="query()">
    <input type="reset" value="重置" name="resetBtn">
    </td>
    </tr>
    </table><br>
    <table border="0" width="100%">
    <tr>
    <td><input type="button" value="新增" name="addBtn" onclick="add()">
    <input type="button" value="删除" name="deleteBtn" onclick="del()"></td>
    </tr>
    </table>
    <table border="1" width="100%">
    <tr>
    <td><input type="checkbox" name="selectAll" onclick="chked(this.checked)"></td>
    <td>用户名称</td>
    <td>用户编号</td>
    <td>年龄</td>
    <td>生日</td>
    <td>性别</td>
    <td>爱好</td>
    <td width="186">地址</td>
    </tr>
    <%
    if(resultList!=null)
    {
    for(int i=0;i<resultList.size();i++)
    {
    TUserVo user=resultList.get(i);
    String sex=user.getSex().equals("0")?"女":"男";
    String interest="";
    if(user.getInterest()!=null)
    {
    for(int ii=0;ii<user.getInterest().length;ii++)
    {
    interest+=user.getInterest()[ii]+",";
    }
    interest=interest.substring(0,interest.length()-1);
    }
    %>
    <tr>
    <td>
    <input type="checkbox" name="userId" value="<%=user.getUserId() %>">
    </td>
    <td>
    <a href="UserUpdateServlet?userId=<%=user.getUserId()%>&action=edit"><%=user.getUserName() %></a>
    </td>
    <td><%=user.getUserNo() %></td>
    <td><%=user.getAge() %></td>
    <td><%=userService.formatDate(user.getBirthday())%></td>
    <td><%=sex%></td>
    <td><%=interest %></td>
    <td width="186"><%=user.getAddress() %></td>
    </tr>
    <%
    }
    }
    %>
    </table>
    <table border="1" width="100%">
    <tr>
    <td>上一页&nbsp;&nbsp; 下一页&nbsp;&nbsp; 到<input type="text" name="goPage" size="7">页</td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  2.   


    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    String name = (String) request.getSession().getAttribute("user");
    System.out.println(name);
    int totalPage = new UserDAOImpl().getTotalLinkPage(name);
    String Page = request.getParameter("CurrentPage");
    UserDAO udao = new UserDAOImpl();
    int CurrentPage = 0;
    if(Page==null){
    CurrentPage=1;
    }else{
    CurrentPage = Integer.parseInt(Page);
    }
    if (CurrentPage < 1) {
    CurrentPage = 1;
    }
    if (CurrentPage > totalPage) {
    CurrentPage = totalPage;
    }
    List<LinkDTO> list = udao.selectLinkByPage(CurrentPage,name);

    request.setAttribute("list", list);
    request.setAttribute("CurrentPage", CurrentPage);

    request.setAttribute("maxPage", totalPage);

    request.getRequestDispatcher("main.files/linkman.jsp").forward(request,
    response);
    }这是servlet中的主要代码自己写方法获取数据的总条数和总页数就可以了先看看自己会不会写
      

  3.   

    页面上显示如果你还没学过框架的话推荐使用JSTL标签,这是个例子<c:forEach var="bm" items="${list}">
      <tr><td align="center"><input type="checkbox" id="sel" name="sel" value="${bm.id}"></td>
      <td align="center"><img src="<%=basePath %>images/bg_users.gif"></td>
      <td align="center"><img src="<%=basePath %>images/t_5.gif"><img src="<%=basePath %>images/t_5.gif">
      <img src="<%=basePath %>images/t_5.gif"></td>
      <td align="center"><c:out value="${bm.nickname}"></c:out></td>
      <td align="center"><c:out value="${bm.others}"></c:out></td>
      <td align="center"><a href="ListAllUserServlet?who=${bm.others}"><img src="<%=basePath%>images/xie.jpg"></a></td>
      <td align="center"><a href="main.files/updUser.jsp?zt=${bm.others}"><img src="<%=basePath %>images/xg.gif" style="cursor:hand"></a></td>
      <td align="center"><a href="delUserServlet?zw=${bm.others}"><img src="<%=basePath %>images/sc.gif" style="cursor:hand"></a></td>
      </tr>
      </c:forEach>
      

  4.   

    设置一个PageBean,存储当前页,总条数,每页最大对象数,然后向DAO传入PageBean的属性,使用sql实现分页
      

  5.   

        select * from (  
          
               select row_.*, rownum rownum_ from (  
                
                    select person_id, chn_name, chn_firstname_py from t_pbase_info  
                    
                ) row_ where rownum <=20  
                
            ) where rownum_ >=11楼主可以拿这段Oracle的分页SQL代码去改改。只要改动  rownum <=20  和rownum_ >=11这两个的数字就行了。