この記事では、データページングを実装するためのstruts2+hibernateの方法について説明します。次のように、参照のために共有してください。
1。冬眠を使用してページングテクノロジーを実装します。
/***ページクエリにHQLステートメントを使用* @Param HQL HQLステートメントクエリを必要とする* @Param Offset First Record Index* @Param Pagesizeの数ページごとに表示されるレコードの数* @return現在のページのすべてのレコード*/ @suppresswarnings( "Unchecked")Public List findbypage(最終文字列int int int offset、最終intオフセット、最終的hibernatecallbackオブジェクトリスト= gethibernateTemplate().executefind(new hibernatecallback(){// hibernatecallbackインターフェイスパブリックオブジェクトdoinhibernate(セッションセッション)で実装する必要があるメソッドは、hibernateexception、squcecepteception { .setfirstresult(offset)。 return list;} // public int getRows(string hql){return gethibernateTemplate()。find(hql).size();}を取得します。2。冬眠を呼び出して、アクションでページングテクノロジーを実装し、ディスプレイインターフェイスにジャンプします。
// paging @suppresswarnings( "unchecked")public string paging(){string hql = "from from from in noction"; //ページングデータテーブルint pagesize = 3; //ページごとに表示されるレコード数int allrows = service.getRows(hql); // Total Records int allpage = 0; //合計ページint offset = getPage() + 1; //最初のレコードのインデックス/*if(rows%size!= 0){pagesize = rows/ size + 1; } else {pagesize = rows / size; }* / allpage =(allrows -1) / pagesize + 1; //ページの合計数を計算します<収入>収入= service.findbypage(hql、(offset-1)*pagesize、pagesize); request.setattribute( "allpage"、allpage); request.setattribute( "offset"、offset); request.setattribute( "Income"、Income); 「ページング」を返します;}3.Struts.xml構成:
<アクションname = "Income"> <! - 2つの論理ビューの[表示]ページを構成 - > <result name = "error">/error.jsp </result name> <result name = "paging">/Income/Income_list.jsp </result name = "update">/Income/Income_edit.jsp </result>
4。インターフェイスIncome_list.jspを表示します
<%@ページ言語= "java" pageencoding = "gbk"%> <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt"% HTML 4.01 Transitional // en "> <head> <title> Revenue List </title> <meta http-equiv =" pragma "content =" no-cache "> <meta http-equiv =" cache-control "content =" no-cache "> <meta http-equiv =" expires " content = "keyword1、keyword2、keyword3"> <meta http-equiv = "descripting" content = "これは私のページ"> <link rel = "styleSheet" type = "text/css" href = "../ images/symassss・現在の場所:収益管理>>収益の表示</td> </tr> <tr> <td bgcolor = "#ffffff"> <br> <table align = "center" cellpadding = "1" cellpacing = "1" bgcolor = "#036500" bordercolor = " align = "center">収入番号</td> <td align = "center"> date </td> <td align = "center"> method </td> <td align = "center"> rument </td> <td align = "center"> project </td> <td align = "center" <td align = "center"> note </td> <td align = "center">操作</td> </tr> <s:iterator value = "#request.income"> <tr bgcolor = "#ffffff"> <td align = "center"> <s:プロパティ値= "ID"/>> < format = "yyyy-mm-dd"/> </td> <td align = "center"> <s:プロパティ値= "money"/> </td> <td align = "center"> <s:プロパティ値= "プロジェクト"/> </td> <td align = "center"> <s:source "/> </td <値= "担当者"/> </td> <td align = "center"> <s:プロパティvalue = "remarks"/> </td> <td align = "center"> <s:プロパティvalue = "remarks"/> </td> <td align = "center"> <a href = "javascript:if(sure you sure de delete $ {id}? '))location =' Income!ded?id = $ {id} '"> delete </a> <a href =" javascript:if(confism(' $ {id}? '))lociation =' Income!updateto?id = $ {id} '" <center>合計$ {allpage}ページがあり、現在$ {offset}ページ<a href = "Income!paging?page?page = 0"> <font size = "2" color = "blue"> home </font> </a> size = "2" color = "red">前のページ</font> </a> <a href = "javascript:if($ {offset} <$ {allpage})lociation = 'Income!Paging?page = $ {page+1}'" "> <font size =" 2 "color =" red "> href = "収入!ページング?ページ= $ {allpage-1}"> <font size = "2" color = "blue">最後のページ</font> </a> </td> </tr> </table> </div> </body>5。ページネーションの結果:
この記事では、基礎となるデータベースに実装を提供していませんが、ページングの原則を習得する限り、これは大きな問題ではないと思います。特定のページングの原則については、以前の記事を参照してください。「Hibernate Frameworkデータの分析ページングテクノロジーの例」
この記事の説明が、Hibernate Frameworkに基づいた全員のJavaプログラミングに役立つことを願っています。