يجب أن يكون ترقيم الصفحات عملاً نقوم به غالبًا عند تطوير تطبيقات الويب. من المهم جدًا أن تكون قادرًا على تنفيذ ترقيم ترقيم قواعد البيانات وعرض الطبقات بطريقة بسيطة نسبيًا.
في طبقة قاعدة البيانات ، استخدم السباتي لربط قاعدة البيانات ، وتغليف البيانات التي تم الاستعلام عنها من قاعدة البيانات إلى Javabeans ؛ في طبقة العرض ، يمكن تنفيذ الترحيل بسهولة.
إنشاء PageBean
حزمة com.fish.common.bean ؛ استيراد java.util.list ؛ suppressWarnings ("Unchected") الطبقة العامة pagebean {قائمة قائمة خاصة ؛ // قائمة السجلات المراد إرجاعها الخاصة int allrow ؛ // Total Records Private Int TotalPage ؛ // Total Pages Private Int Currentpage ؛ // PAGE PIGHT PRIGESIZE ؛ // عدد السجلات لكل صفحة isfirstpage المنطقية الخاصة ؛ // ما إذا كانت الصفحة الأولى الخاصة بوحدة منطقية خاصة ؛ // ما إذا كانت آخر الصفحة الخاصة بالحيوانات المنطقية الخاصة ؛ // هل هناك صفحة سابقة من طراز منطقي خاص ؛ // هل هناك صفحة تالية قائمة getList () {قائمة الإرجاع ؛ } public void setlist (قائمة قائمة) {this.list = list ؛ } public int getAllRow () {return allrow ؛ } public void setAllRow (int allrow) {this.allrow = allRow ؛ } public int getTotalPage () {return totalPage ؛ } public void settotalpage (int totalpage) {this.totalPage = TotalPage ؛ } public int getCurrentPage () {return currentpage ؛ } public void setCurrentPage (int currentpage) {this.currentPage = currentPage ؛ } public int getPagesize () {return pagesize ؛ } public void setPagesize (int pagesize) {this.pagesize = pagesize ؛ } / *** / / ***معلومات الترحيل التربية* / public void init () {this.isfirstPage = isFirstPage () ؛ this.islastPage = islastpage () ؛ this.haspreviouspage = ishaspreviouspage () ؛ this.hasNextPage = IshasNextPage () ؛ }/ *: // إذا كانت الصفحة الحالية هي الصفحة الأخيرة} Ishaspreviouspage public boolean () {return currentpage! = 1 ؛ // طالما أن الصفحة الحالية ليست هي الصفحة الأولى} iShasNextPage العامة () {return currentpage! = TotalPage ؛ // طالما أن الصفحة الحالية ليست الصفحة الأخيرة}/***///*** احسب العدد الإجمالي للصفحات ، وهي طريقة ثابتة ، ويتم تسمىها مباشرة من الخارج من خلال اسم الفصل** pageize* عدد السجلات لكل صفحة* param allrow* allrow total total pages*/public int inttalpage ( pagesize == 0؟ allrow / pagesize: allrow / pagesize + 1 ؛ إرجاع إجمالي page ؛ } / *: إرجاع إزاحة ؛ } /*** / /*** احسب الصفحة الحالية. إذا كان 0 أو لم يكن هناك "page =" في عنوان URL المطلوب ، فسيتم استخدام 1 بدلاً من ذلك * * param صفحة * المعلمة التي تم تمريرها (ربما فارغة ، أي 0 ، ثم يتم إرجاع 1) * @RETURN PAGE CURTM */ public static int countcurrentpage (int page) {final int curpage = (page == 0؟ 1: page) ؛ إرجاع Curpage. }} أضف طرقًا إلى واجهة DAO المجردة على أساس:
القائمة العامة QueryForpage (السلسلة النهائية HQL ، إزاحة int النهائية ، طول int النهائي) ؛ تنفيذ الطريقة في فئة تنفيذ DAO JianshedwDaoImpl قائمة public QueryForpage (السلسلة النهائية HQL ، إزاحة int النهائية ، طول int النهائي) {list list = gethibernatetemplate (). Session.createquery (HQL) ؛ قائمة العودة } إضافة طرق إلى واجهة طبقة تجريد الخدمة JianshedwService:
PACERSEBEAN QUERYForpage (int pagesize ، int currentpage) ؛
تنفيذ الأساليب في فئة تنفيذ الخدمة:
publicbean queryforpage (int pagesize ، int page) {Final String HQL = "From JianshedwBean" ؛ // بيان الاستعلام int allrow = this.basedao.getAllRowCount (HQL) ؛ // Total Records int totalpage = pagebean.counttotalPage (pagesize ، allrow) ؛ // إجمالي الصفحات الإزاحة النهائية int = pageBean.countoffset (pagesize ، page) ؛ // تبدأ الصفحة الحالية في تسجيل طول int النهائي = pagesize ؛ // عدد السجلات لكل صفحة نهائية int currentpage = pageBean.CountCurrentPage (صفحة) ؛ قائمة <JianshedwBean> list = this.basedao.queryforpage (HQL ، Offset ، Length) ؛ // سجل "صفحة واحدة" // احفظ معلومات الترحيل في pagebean pagebean bean = new pageBean () ؛ pageBean.setpagesize (pagesize) ؛ pageBean.setCurrentPage (CurrentPage) ؛ pageBean.setAllRow (allrow) ؛ pageBean.SettOtalPage (TotalPage) ؛ pageBean.setList (قائمة) ؛ pageBean.init () ؛ إرجاع PageBean ؛ } قم بإنشاء نموذج تراجع في عرض طبقة
حزمة com.fish.action.lcq ؛ استيراد com.fishing.common.bean.jianshedwbean ؛ استيراد com.fish.common.bean.pagebean ؛ استيراد com.fish.service.lcq.jianshedwservice ؛ استيراد com.opensymphony.xwork2.actionsupport ؛ suppressWarnings ("Serial") الطبقة العامة getInfojsDwListActaction تمتد الإجراءات Upport {private int page ؛ // ما الصفحة الخاصة pagebean pagebean ؛ // Bean تحتوي على معلومات التوزيع الخاصة Jianshedwbean Jianshedwbean ؛ // صفحة pagebean الخاصة ؛ Jianshedwservice Jianshedwservice ؛ public int getPage () {return page ؛ } public void setPage (int page) {this.page = page ؛ } publicbean getPagebean () {return pageBean ؛ } public void setPagebean (pageBean pagebean) {this.pagebean = pageBean ؛ } jianshedwbean getjianshedwbean () {return jianshedwbean ؛ } public void setjianshedwbean (Jianshedwbean jianshedwbean) {this.jianshedwbean = jianshedwbean ؛ } jianshedwservice getJianshedwService () {return jianshedwservice ؛ } public void setjianshedwservice (JianshedwService jianshedwservice) {this.jianshedwservice = jianshedwservice ؛ } Override Public String Execute () يلقي استثناء {// page -bean من ترقيم الصفحات ، تشير صفحات المعلمة إلى عدد السجلات المعروضة لكل صفحة ، والصفحة هي الصفحة الحالية this.pagebean = jianshedwservice.queryforpage (10 ، صفحة) ؛ العودة النجاح }} اكتب صفحة في JSP
<tr> <td> </td> <td> <s: if test = "٪ {pageBean.currentPage == 1}"> الصفحة الرئيسية الصفحة السابقة </s: if> <s: else> <a href = "jiangguan/getjsdwinfos.action؟ href = "jiangguan/getjsdwinfos.action؟ page = <s: property value =" ٪ {pageBean.CurrentPage-1} "/>"/> الصفحة السابقة </a> </s: else> </td> <td> <s: if test = "٪ {pagebean.currentpage! href = "jiangguan/getjsdwinfos.action؟ page = <s: property value =" ٪ {pageBean.CurrentPage+1} "/>"> الصفحة التالية </a> <a href = "jiangguan/getjsdwinfos.action؟ <s: else> pagelast page التالي </s: else> </td> <td> <div align = "center"> الصفحة <s: property value = "pagebean.currentPage"/>/<s: property value = "pageBean.totalpage"/> <s: property value = "pagebean.allrow"/ </td> </tr> ما سبق هو مجرد تطبيق للرمز ، ولا يفسر ملف التكوين ، ويقوم القارئ بتكوينه وفقًا للموقف.
آمل أن يكون هذا المقال مفيدًا لك. هذا كل شيء بالنسبة لك لتقديم محتوى ترقيم الصفحات لتنفيذ SSH2 لقاعدة البيانات والواجهة. آمل أن يستمر الجميع في متابعة موقعنا! إذا كنت ترغب في تعلم Java ، فيمكنك متابعة متابعة هذا الموقع.