Javaweb Simple Pagingの実装:
今回は、ログイン後に取得したデータのページを主に説明します。最初に、新しいログインページlogin.jspを作成します。主にページングを学ぶため、ログイン検証部分については説明しません。メインコードは次のとおりです。
<form action = "pageservlet"> username:<入力タイプ= "text" name = "username"> <br> <purnted type = "text" name = "password"> <br> <入力タイプ= "submit" value = "submit"> </form>
まず、Entityクラスuser.javaを作成し、メソッドをget and set get and set:
パブリッククラスユーザー{private string username;プライベート文字列パスワード。 public string getUsername(){return username; } public void setUsername(string username){this.username = username; } public string getPassWord(){パスワードを返します。 } public void setPassword(string password){this.password = password; }}フォームフォームがPageServletに送信されることがわかります。そのため、新しいPagesSorvletを作成してサーブレットにデータを取得し、ページネーションの準備を作成します。特定の意味は、コメントを参照することで理解できます。 PageSorvletコード:
パブリッククラスのPageServletは、httpservletを拡張します{public void doget(httpservletrequest request、httpservletresponse応答)throws servletexception、ioexception {list <user> list = new arraylist <user>(); //ここでは、データベースに接続しなくなりましたが、仮想データを使用して効果をテストします。友人はデータベースに接続して照会し、(int i = 1; i <7; i ++){user user1 = new user()のリストを返すことができます。 user1.setUsername( "th" + i + "user names"); user1.setPassWord( "th" + i + "password"); list.add(user1); } httpsession session = request.getSession(); //セッションでデータを保存して、session.setattribute( "userlist"、list)の取得を促進します。 //現在のページのページ数を取得し、INTタイプに変換し、最後にセッションINT Pagenosにデータを保存します。 if(request.getParameter( "pagenos")== null || integer.parseint(request.getParameter( "pagenos"))<1){pagenos = 1; } else {pagenos = integer.parseint(request.getParameter( "pagenos")); } session.setattribute( "Pagenos"、Pagenos); //ページの総数を定義し、セッションに保存int countpage = 3; //実際の開発では、SQLステートメントに基づいてページの総数からページの総数を取得し、ページごとのピース数を除算してページセッションの総数を取得します。 request.getRequestDispatcher( "index.jsp")。 } public void dopost(httpservletrequest request、httpservletresponse応答)throws servletexception、ioexception {}}上記のコードでは、最終的にindex.jspページに転送します。この時点で、すべてのデータはindex.jspに表示され、JSTLおよびEL式を使用して取得されます。 index.jspの主なコードは次のとおりです。
<body> <c:foreach items = "$ {userlist}" var = "user" begin = "$ {(pagenos-1)*2}" end = "$ {pagenos*2-1}"> <center> <div> $ {user.username} </div> </center> </c:for> </centword> <c:if test = "$ {pagenos> 1}"> <a href = "pageservlet?pagenos = 1"> home </a> <a href = "pageservlet?pagenos = $ {pagenos-1}">前のページ</a> </c:if> <c $ {pagenos <pagenos <a countpage} href = "pageservlet?pagenos = $ {pagenos+1}">次のページ</a> <a href = "pageservlet?pagenos = $ {countpage}">最終ページ</c:if> </center> <form action = "pageservlet"> <h4 aLign = "center" value = "$ {pagenos}" name = "pagenos" size = "1"> page <入力型= "submit" value = "go"> </h4> </form> </body>2行目では、<c:foreach>を使用して、session.setattribute();のコンテンツを取得します。ここでは、ページごとに2つのデータがデフォルトであるため、(Pagenos-1)*2であることに注意してください。ページごとにn個のデータを使用する場合は、2をNに変更する必要があります。もちろん、nはバックグラウンドサーブレットから取得することもできます。
同時に、index.jspでJSTL式を使用しているため、参照をインポートすることを忘れないでください。
<%@taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core"%>
この時点で、簡単なページネーションを完了し、行って試してみました。
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!