首页 技术 正文
技术 2022年11月10日
0 收藏 694 点赞 3,604 浏览 62795 个字

前端实现用ligerUI实现分页,感觉用框架确实简单,闲着无聊,模拟着liger的分页界面实现了一遍(只要是功能,样式什么无视)

这里用基础的三层架构+servlet+jsp实现,思路很简单,把所有分页相关信息写入到一个pagebean类里面,service返回这个bean类,每次分页查询时都从该bean里查找信息。只是其中的细节问题比较繁琐,如边界处理(前端和后台边界都要处理),下拉框跳转后要显示当前页等等

这是ligerUI实现的分页样式(实现过程我的上一篇博客有写)

aaarticlea/png;base64,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” alt=”” />

模拟实现过程:

目录结构

aaarticlea/png;base64,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” alt=”” />

数据库(mysql)

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYEAAAEkCAIAAABG6houAAAgAElEQVR4nO2dz44jR3KH83ns44ICt15BD0Fs96CAfQsfbC62Zxaqq29an3b7IPUIcBnrkQ8Ln2yYF/VIF/Jm2IahdaNX0vSMtD1DH4pV+S8yK8isqAxmx4c8NIuszIjIyF9lFdmZar/fvxIEQciE2guCIORDfSoIgpAP9emnn44K1W63+8+3+1xlt9vNIMbnDucocbYtnbK9I6ULnWhQIXCOEmfb0inbO1JEg4qCc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhTRoKLgHCXOtqVTtneknKRBr5ufqepvXntKcVOrZfOvokEd26ZSVbP1jrc1eHgS4CjBlrS1qlsaM0DOrwePgYV3mNQKpWU+RIPIEA2yOb8ePAYW3j0hDQoVXhq0bap5BxmSmTQIdN88eL4adFrP0uYDjQYdaXMwtbiOhf1+b2rQ23c/Rcrj4/vdbvcv/7ePld/XatH8Q/wzp5bdbhe30CvfPF+qy5dHnTJLeflMLX/zmqDmro+i7psHv7hUz27m8tq2LbGc1rOE+TCpdwk2B1OL61joQ3e8Bv1H89eq/tVBHdqPlcFMGvTFZd/g8sU3b9/99Pbr3yz7I5cvrQ/0veKdYh38+fMXZv8Zp+uB2nXkF5dKqeWzy6VRD9j3X/9mqc81K1T0GmS7f7DEiYmpQWBwiGwLtQjG/IvLrmv0JzE9izlrTu/MzAlnY2oOh7wDk6GP0stDo5cvf3r78lmkctLEOGjQw9sfIyWgQe3HSn38+4NM/GpFq0G9MS8vlFo+/8Yw75uryxe33d83z5R6dtMdXKqLm+GU5dXr/sOH4y8v1PCBb66WSi27Suz67Qr7v398uHnWf/7Hm8uhHqO8frE8fNhs6Meby6GhiUvXRzomg/vaEicmg3l+cEht83swFPOXF0qpy5e9F52dqJ6NnjWzd3bmwDan53AktcBkeHmh+s/fPFNWxOZOjCM06Ms/ffjyTx++/PdP/lrV6z99+PJ3tVp88tvuoP9y0qL72Bj8Zrl9PlxFvP67eaZsls+/cesZXrr1G1lidcPQQ8NgtsvQl6GGaEcCWoPA4JDa5kcgGHNnGHhqAhs/dtbM3jlNhwM+WQ67JaRBQ5Sgv2dMDJQGvX/PWINev1gOAQLHG9g3R2gQnMS3z5fL59/cPl8eLiBOmV2Duj6Kpl1Ag2jsCdqG0qBB38c0CDB+bg0a8c7XIN/maXPYLadq0FyJcdCgNw/vIuXx/fvdbvfq2w+vvv3w6t8++StV/923H159+48fK/Xx7z68+vbDq2+3v1wotfjkt91npi673a43ppt/Hv6+uvr6zc2lWr746uHdm4d3X10tlbr8/OHdm4evr5b6Y8Yp7z6/6D5gHvy6uxf7qj++vPr60Jyu3Kzw3ZuHd29uXyyXlxfL5dUtFLTbF0sVb2ji0vVR/9KwVlvixMQ3bwgOqW1eDwZj/vJCDeH9+uoQakzPxs+a2TunacjmiXPYKWAymFEC/54vMVI06MOr39X9TO3nv/zbehYN6uLYobvqMF28uOxD3PVl3yv6FCMb9MHl1dWl0X8vL/QMdAg9kMSfX4QFRXf2uzc3+tGe3RDdSDDcNywxYjJoUCA4lLZ5PRiKOagmoz2LOGtW76Crl2vzqTmMSy0oGUY1aL7EOGjQD2/eRkp32/bPd+9zld1uF7cwtXx+qZbPvzryrM8u1EdXr2kNQ5euj7KbcXa2iXfZQ3fQoO9/eIiUgwb99/tcZbfbxS08vtz++qOLzw5/3/xCqY9+fXtcDV9dfaSsGkx+8dm01o6Xro9mbrQA24rzLn8qHhu6IzToD//7mKuQ9PFXVx/1/XSsAH12wa53mY2Es7FNvMseuoMGfff9m0h5fHzc7XZ/+K/HXGW328UtlNL1UXYzzs428S576A4a9OfvfoiUvzw+7na7f/qfv+Qqu90ubqGUro+ym3F2tol32UMnGlRI4TwSONsm3mUP3UGDdoIgCDk4aBBm9Yyf/f0+V7m/v8+wrMC5wTlKnG1Lp2zvSOlCJxpUCJyjxNm2dMr2jhTRoKLgHCXOtqVTtnekiAYVBecocbYtnbK9I0U0qCg4R4mzbemU7R0pgAYppUSDzhQjSuDawpRrWY9Rdg+W7R0psAaBMjSTBn253+/3f/xSNCjMtqn6fzFxFioXDcqF5R3cQW2/xITdBW3t96P+bHApeqi2cGKMnIhqkYqgBvkyNIMGfXq339/t/3gnGhShrYfk8bZLEA3KhRV5oIOMLXXaWhkHVVXXTi+O9xJYm/4rvIEPeGLevDA0aFi52fyPW2dF53luuz4VDcKybSord0SDchHwru8g62rhXDr8l2N9BNdmdm6go+ETES1SMqJBpgyJBvHD3SPM1aCmn2AfPgUeRM7hU7F7UE/9h9sCY9wY12h9VJ/Ca4++/X4f1KC+g+yOshXC1qBtUxldBHsaqK2f5IS3MQRPxLRIybgGDTIkGsQN/2Jna5Dy7gPAg9umNi6fZCrk2DY009aHxNdjsa2rqhosdgWK5Y59YH5a6oDUIPPxUEBMwrUNFxM4PPCJiBZJ0Ro0rB7vCJC5qrxoEB9AuQjciw2TbfDg4QX1TEjb5minN1Lbumq23VOV3kh72sRwKuTnpyu0eA0y3jMk2J4xArU5WmRcdeInwi3Ox4gGOTtbiAYxITRfOUWDugej3VHKGca4Bh1MMtSnhQxniZOfbgdZ9kefB9kPZ2C/wdowUgKeiGmREq1Bw+rxgwD5q8qLBjEgNl0+RYPcqfzM92KmBO63TVVVxpPSahgdzqyC262Y6R3YQYbQuKMckCTjkhD8esutzfpw6CIFmoFpkZCgBoE7W8ygPiamEokGHXDvSjDfi8XvxfR9mP818YRYPWg+X26cRz2BZxOzPDg/GWuWB3aQth/6LsB6A/FbHaA2q7qjTsz56yBTg4YdLJRSoZ0t5pkHgUU0CAPnKAVtY3+fhYFz5JljaBBiZwvRIOZwjpJokACiNQizs4VoEHM4R0k0SAAxNAixs4VoEHM4R4mzbemU7R0pWoMwq8qLBjGHc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhStQZjl7+8FQRCm5qBBo3LVbcGRi3u5ziDgHCXOtqVTtnekiAYVBecocbYtnbK9I0U0qCg4R4mzbemU7R0pokFFwTlKnG1Lp2zvSBENKgrOUeJsWzple0eKaFBRJEQJWrYj9F/UJ/2yueweLNs7UphpEGrHCKH1VmM9cE4a5O8nMbIdBcP/ltdY3sm+GsfASoOQO0Y8cbZNpVeAcRJmYg0KkapB4H4Soe0ogs6ywvBO9tU4Dq1Bb9/9FCmPj+/nvReL7Bgh9HipcyYaNNoitNMD739tDURe9tUYh60GRXaMEA5E17TvMgycYZurbEEDo5vS162dssBOGEdxjAa5vQ86y4pAfsq+GuNoDXp4+2OkzKxB0dH15Olv+/0B7N7vWCvz6Rm7jq19X3BYltha+s+b57tVYMFrkLfqMfunQbKvRgIcNWhsxwjhgK8F3jxo774MLma8bSpV13bowWm+/xIHUoNCz31OE77Z8PNT9tVAgtWg9+9n0iDEjhHCgJswJ2mQsap0VXlLOM+qQdEHz6zvxhzvZF8NPFqD3jy8i5THOTQIuWPE00Z/UwTEy70XszavCNyLOdv6uKvK+/di1k4YeMY0COr9qLOscCIv+2rg4aRB2B0jnjqRX4G486Aa/NHH2DPpwwfq1j/W9UuTOA+C9pMI9D7v3TQ02jvZV+NItAb98OZtpMz+vRhsqBAnfC+Wn7J7sGzvSNEa9P0PD5EiGnQWiAblomzvSBENKgrRoFyU7R0pWoO++/5NpDw+PooG8YdzlDjblk7Z3pGiNejP3/0QKX8RDToHOEeJs23plO0dKaJBRcE5SpxtS6ds70jRGiT7agiCkIU9fu2Ou3zc399nbP1c4BwlzralU7Z3pIgGFQXnKHG2LZ2yvSNFNKgoOEeJs23plO0dKaJBRcE5SpxtS6ds70gRDSoKzlHibFs6ZXtHimhQUcSitFkv1GK9mdEam7J7sGzvSOGmQderw7/vrq49Q+lbPys264VyRUU0KBeWd5v1Qvl5POS23QvXKyDdh89678Rqg9tFnIhqkQpWGrRZLw7+X6/cUJSdwcezWS8WC09UOEeJs23pGN5dr4Ze2awXhzw2rgA6ubvLyGq1sJP9ejV2sQBrMwZN8HoDnohpkRCtQZg17eezywtK2Rl8LJv1YrHe+JnDOUqcbUsn4F3XUaYY3TkvoJdjegDXZqZDQFTgExEtUsJUg85rdM1NnzORKFnXwe5zTqrPzmCbccdwmPv7R3q7DXIOk3EC+Xm9GvTBvitz7qD0m5v1YrFew/dLbq1Obf0kJ3zXDZ6IaZESrUGYNe3JzemT0R8rokE9OmVjSm28d0g8Nhqk8R3QR6zb8evVWWqQpQ5IDTIfDwXEJFzbIOZwR8MnIlokhZkG9fg5JxrUYaZRdLY4vNlf+7hpkG9PxLesDyww+Pnpiiheg4z3+lf2g2S4NkeLht4fOxFucT6wGtTtqzGjYW4oRIPu7u78+xjnmmdGqbtjs5+K8tGg2BQIeP/cNMj9UsWyP/o8yH44A/sN1oaREvBETIuUaA3CrGlPa4v+WgyYEooG+Yw8NdusF4vVamFeG5loUHwK1GGOYuhnCMxwvPOMNRx0uw2QpMP70a+33NqsD/tfLEfMwLRICCcNiv6+QTTIZ/TJvXVLy0aD7EfNSq2u/SP25xbr9fnMg1xnvGc19jdT0IwW8VsdoDaruqNOzPnrIFODMPtqzG2dbWjG1s8FX4OCdwCzk9SD53YvJuDRGoRZ0z6voRlbPxe8X+vaF8msw1g0SAARDSoK537H/p1NzknQnWiQEEBrEGZfjbyGZmz9XOAcJc62pVO2d6TcH7WmfV5DM7Z+LnCOEmfb0inbO1JEg4qCc5Q425ZO2d6Rci/7agiCkJcj1u4Y/Qwd97J/EwLOUeJsWzple0eKaFBRcI4SZ9vSKds7UkSDioJzlDjblk7Z3pEiGlQUnKPE2bZ0yvaOFNGgouAcJc62pVO2d6SIBhWFEaW2VlWzxZzU1qpurT9I4GxbOpKfJ8NSg7ZNpdwklT4eaGvjX63tMHEe55xtS8fKz21T9f1jGD30m+17W9sfsz8b9BqqDW4XcSKqRSoYatC2qaqqEg0KEhnBnMc5sW3bpsqpUpZ3g3PaqG0zpHRbK+OgqurasXw8PGBt+i/zfcSJx3QIAVqDMGvaz2DQtqmqZuvHRDRoQDQIgo8GmXTp7FjnmOq/HAsOXJsZ1UCE4RMRLVLCTIP6aIgGRTDuxdxB547zpvY+qM/uIwyOc/OGb5qhTWmbccS4ykP2T++X551Jb7YtoXZ62xq0bSojNrA2BGrrJznBWRB8IqZFSrQGYda0JzZGd4ZoEAY/1+xxbk75u8+ZcTWvn844b2szF81JewLEtpkjOfQZEr887zSWOiA1yHw8FBCTcG3DAyHYL/hERIukMNIgJ4lEgxC4cQrc7xjTS5v+qD3O3Vqnuc0hts0wMvQZGr8877ST1tQNr0HGe/0r+0EyXJujRYOyj50ItzgfWA3q9tWgtMR4pg9NlkWDII7XICC/MON8grQkti2uQWATUz4HcfLTnWNZTUefB9lGBaPi14aREvBETIuUaA3CrGk/m1kyDwrT1vAtx34/Os7da7N/mxO4Z5kiK4lti96LGQ+JJvfL8w68n0FM0/zTo19vubVZHw7dZ4JmYFokRDToDGmDzw/Hxjn4E5JMz6Sntu1wdvZn0u5Npe+d9c0UNO/XVQRNBGqzqjvqRFSLZGgNwuyrMbd1nqFCHM5R4mxbOmV7R4rWIMya9tkNFeJwjhJn29Ip2ztSRIOKgnOUONuWTtnekaI1CLOvRnZDhTico8TZtnTK9o4UrUGYNe2zGyrE4RwlzralU7Z3pIgGFQXnKHG2LZ2yvSNFa5DsqyEIQhb2zNbugLmX6wwCzlHibFs6ZXtHimhQUXCOEmfb0inbO1JEg4qCc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhTRoKLgHCXOtqVTtnekiAYVhREl6L/Cc/xX9ABn29KR/DwZXhpk/ctxcFUKIfh/zpzHOWfb0rHyU/bVOAZ2GoRYrf3JEw7TyDjPCtq2zKvTn4blnb8mreyrEUZrEIc17UWDEMRW/xMNykUgP2VfjXHYaVBoQigadCC6C4I7zp29K7KObpxtRgpkWo3sNAL52cq+GqNoDcq+pr1JdMeIp010FwR7nHt7VzDSoIhtmXfIOA0wPy11kH01AjDVoOhq7U+b6NLlgfsd8I5gbtC2Zd4h4zT8/HTWx5Z9NUJgNYh+Xw0H0aAA0V0QnoAGke+QcRpOfsq+Gni0BjFY0x65Y8QTJ7YLQmkalGOHjNMwvJN9NY6DlQYhd4wQgr/lKEKDMu+QcRraO9lX40i0Bsm+GgXAOUqcbUunbO9I0Roka9oXAOcocbYtnbK9I0U0qCg4R4mzbemU7R0pWoNkX40C4BwlzralU7Z3pGgNkjXtC4BzlDjblk7Z3pEiGlQUnKPE2bZ0yvaOFK1Bsq+GIAhZ2OPX7rh72Ocq9/f3GVs/l8I5SpxtE+/yhk40qJzCOUqcbRPv8oZONKicwjlKnG0T7/KGTjSonMI5SpxtE+/yhk40qJzCOUqcbRPv8oZONKicMhKl22ahqvWt2Da7d1KioWOmQTf6P3ivbUOzB4tD2VzZ/2qt1OJqi42SaNA83t02i753VjfDZ9pV/5/0lps3tf0xfdAfBUaBaoPbRZyIapEwdJw06KZWy2Yz2sdSunLbLM5Hqae2bbteRkZaRu/a1ZDDuoO262V/tbiplXFQLeuV40h4FJi+e7W1q0F6goIOnohpkTZ0e/ya9sTWbNfL4JWQ8+jKVTZXlbpozyVKT0aDHCOr9a1ztXAs91+OzQfh2tqV1h3z79ETES0Sh46NBt02i2WzvgBuMcJ9/JQLkGfW1VhV66vaCqaVgsOcfAi1f2TKMqlt+mV/ATeOWHPD0HE675w+qq8f9nc3tXm1uL4wI2xrUHQUHEqgts1VpZbNxpzsYE7EtEhZtAZh1rSntca8MfYmk6JBQLi8+bM9ztUh4YZg6nHertxsMxWNZIoxtW2mkfYp9u0JdHz6AuanpQ5IDYqOgq6Ea9uulzG1hU9EtEhamGmQMajsfhINcgosE+5cQ49be5z7+nXjrEA6/fVwatuMCLin9G+FjhP0iJ+f1xdKD3j8PAgeBfaDZLg2I6paShAnRsfdDAWrQd2+GrTW3DYL0SB8rKBrXdI4J34qObVtcQ3qhxx4nNa7/Z0jQK6F0edB0VEQqw0jJeCJmBaJE2OPX9Oe2BrjPlbuxaIllCjYcW5+h/LQrvsr7TASri+mv2eZ2rbovZjxkAg6Pn0xvAMfxyBmbf7p0a+33NqsD1sRGzMD0yJhYaVBe/MJohNB0SBdwomCHufmb0n8IyQ3LJPbdvipFLdn0u6do3l/5JgxPL5xXAuOAjsHXKfM344ddSKqRcrQ7fH7asxsHNzHUs4zSpxtE+/yhm6PX9M+r6HZg8W/cI4SZ9vEu7yhEw0qp3COEmfbxLu8odvj99XIa2j2YPEvnKPE2TbxLm/o9vg17fMamj1Y/AvnKHG2TbzLGzrRoHIK5yhxtk28yxu6veyrIQhCRo5Yu2P0M3Tcy/5NCDhHibNt6ZTtHSmiQUXBOUqcbUunbO9IEQ0qCs5R4mxbOmV7R4poUFFwjhJn29Ip2ztSRIOKgnOUONuWTtnekSIaVBQ6StumUlWzzWqNDWfb0pH8PBlGGrRt3B0jzDyVPtYYkapb6x3O45yzbelY+Ql3UFsDeX047PSj/qz3Tqy2cGKMnIhqkQpGGmSxbSo7FqJBPW09pIk3mDlHibNt6RjetfXQJzqNja7SHbhtKqWqunZyva3HJBqsLZYY0RMxLRKiNQizpv1sZnkSVHgGH4OZL27ucI4SZ9vSCXi3baqq2ToJ7WS3/3JMD+DaYokRPRHRIiU8NQiIYNkZfBT9tQy42Nn3O322uVN060T9AjWTPx0C2/T9gxEH8CA5gfxs60EfbLudOyj95rapqqaB75fcWp3aIokROxHTIiVagzBr2s9kFCTiokEGw4h0tQIa59umNq6O7iXTuBj6H5uUqW0zswScC/iTaULA/LTUAalB5uOhgJiEawsmRuxERIukMNQgOHVEg3qclAvci3kXV3sa0Vcy8rEpmdi21t1sYxhO7sFZ8PPTUnL8PMh+r39lP0iGawMTA3Ei3OJ8YDWo21djDosCVy/RoAPRjAHGeffc05lY9CfqJwGBj03IxLaBYyXfs1UnP92ppGVY9HmQ/XAGdgisDSMl4ImYFinRGoRZ034Gg0IhEA06YM193FQHxrk7UzcexFR1PWRf6GPTMbVtzjwjcnAOjPwE72c8iQXfck6Pfr3l1hZNjKgZmBYJYaZB4RCIBg2YP6SK/j7I+AK4m45b3wI7UhP62GRMbxt460j8ZD2E9s69H/Se1ThuGhhflY+5ANQWS4z4iTl/HWRqEGZfjbmt8wwV4oSeuXCAs23pSH6ejNYgzJr22Q0V4gxRYvhTZM62pSP5eTKiQUUxRCnHnHoEzralI/l5MlqDMPtqZDdUiMM5SpxtS6ds70jRGoRZ0z67oUIczlHibFs6ZXtHimhQUXCOEmfb0inbO1K0Bsm+GoIgZGHPce0Oj3u5ziDgHCXOtqVTtnekiAYVBecocbYtnbK9I0U0qCg4R4mzbemU7R0pokFFwTlKnG1Lp2zvSBENKgrOUeJsWzple0eKaFBRcI4SZ9vSKds7UphpEGbHCOE8o8TZtnQs72RfjWNgpUHnumPEvJxrlDjblo7hneyrcRxagxisaX+uO0bMS3qUtk0VutZF3kqFs23pBLyTfTXGYaVBsY0BRIMG0FEK7TDBQYN42ZZOID9lX41xtAbxWNMesWOEgIpSWwfzKbsGsbMtHTA/ZV8NDKw0CLdjxFMHF6XQku82+iP0O1Jwti0dPz9lXw0kWA2aY18N5I4RTxxklGKplHsexM+2dJz8lH018GgNyr+mPXLHiCcONkrW1x4Ng2cunG1Lx/BO9tU4Dk4ahNwx4smDjRK8g8KegQaxsy0da5YH3jjKvhoBtAbJvhoFwDlKnG1Lp2zvSNEaJGvaFwDnKHG2LZ2yvSNFNKgoOEeJs23plO0dKVqDZF+NAuAcJc62pVO2d6RoDZI17QuAc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhStQbKvhiAIWdjj1+64y8f9/X3G1s8FzlHibFs6ZXtHimhQUXCOEmfb0inbO1JEg4qCc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhTRoKLgHCXOtqVTtnekiAYVBecocbYtnbK9I4WZBm3Wi8O/7y7WG9dQ8tbPhfOMEmfb0rG80x2kVtfD0esV2GvXK/tj9me9d2K1we0iTkS1SAUrDbpeDQG4XjkhKjuDj+Fco8TZtnQM765XQ6ds1otDX23Wi76vdAdu1gulFqvVwh73Xrd6gLUZiWG8jzgR0yIhWoMwa9rT2mIFYrNeWFEpO4OP4GyjxNm2dALe9R2kxejOeQG9HNMDuDYzMwKiAp+IaJESzhpkXRzKzuAjOCJKenqdM8V6ONuWTiA/r1eDPth3Zc4dlH5zs14s1mv4fsmt1amtn+QEZ0HwiZgWKdEahFnTntaWzXph3mUo0SAIbJSuV8yGN2fb0gHz01IHpAaZfRoQk3BtwwMh+JkOfCKiRVI4adCd9bxsvTqbu4y5wUQp6x0+CGfb0vHz03zecsQ8yH6vf2U/SIZrc7So+xtxItzifGA1qNtXY0bD7GiJBsGEo8RvnHO2LR0nPy0BuovfQQP3YiOKANaGkRLwREyLlGgNwqxpP5tZfiBEg3yiUbK+9lgzGPKcbUvH8A68nzGExu02QJIO70e/3nJrsz7samDUDEyLhLDSoPDvXkSDNOgo6Q/O/YsPEM62pWPN8iy8ZzX2N1MmxlflY9GBAmhWd9SJOX8dZGoQZl+Nua2zDc3Y+rnAOUqcbUunbO9I0RqEWdM+r6EZWz8XOEeJs23plO0dKaJBRcE5SpxtS6ds70jRGoTZVyOvoRlbPxc4R4mzbemU7R0p90etaZ/X0Iytnwuco8TZtnTK9o4U0aCi4BwlzralU7Z3pNzLvhqCIOTliLU7Rj9Dx73s34SAc5Q425ZO2d6RIhpUFJyjxNm2dMr2jhTRoKLgHCXOtqVTtnekiAYVBecocbYtnbK9I0U0qCg4R4mzbemU7R0pokFFgYhSW6uq2c5hjANn29KR/DyZrBrU1kqpuvUOKaW8XHy6fTxxlESDSLC82zZV/2/oRscFeg3oX+Oz3jux2uB2ESeiWqQilwZtm0qpqq4r0+NtU/WBaWsnFk9SgyiiJBpEguFdWw9ObJu+68BeA/sXEwawNiMbjPcRJ2YOvNYgzJr2U7euu8h7Zb/1RDWoY9ooiQaREPBu21RVs433mv9yLAhwbWb0ApGET0S0SAknDWprZ+ZqBkY06AA2St1Z/gy7rVXVNLV9NPThKeFsWzqB/Ox7K9Zr3jXGiAGsDYHa+klOcBYEn4hpkRKtQZg17aduPXZ1EA3qOS1K3bMBY3QbM3bv/iD04SnhbFs6YH5a6oDUIPPxUEBMwrUND4TgEMEnIlokhZEGyTwoQMo8yK/EPGOYhMfvDqaBs23p+PlpqSV+HmS/17+yHyTDtTla1P2NOBFucT6wGtTtqzF165Hoy/OggdOixG6cc7YtHSc/3elarNeAe7ERRQBrw0gJeCKmRUq0BmHWtJ+69XBneJEQDQJexqK0bSo9DIwXwXEOfXhKONuWjuOdN4wjvQb07+H96Ndbbm3Wh0O3rKAZmBYJyaVBxi8Z3OeP8A3tk9SglChtm0rVtXmVZNoAAAYmSURBVP8kNzzXAD48JZxtS0d7p5+e2w95gV4L9C/mtzpQDpjVHXVizl8HmRqE2Vdjbus8Q4U44fudOHPc4HC2LR3Jz5PRGoRZ0z67oUIczuOcs23pSH6ejGhQUXAe55xtS0fy82S0BmH21chuqBCHc5Q425ZO2d6RojUIs6Z9dkOFOJyjxNm2dMr2jhTRoKLgHCXOtqVTtnekaA2SfTUEQcjCXtYwKwbOUeJsWzple0eKaFBRcI4SZ9vSKds7UkSDioJzlDjblk7Z3pEiGlQUnKPE2bZ0yvaOFNGgouAcJc62pVO2d6SIBhVFcpQIV27gbFs6kp8nk1WDwjsK+L/Nf7p9PGuURINOxPLO+Ad2e8kw+z/pjcNg/0b/j1321UhlG9oxAthmwDD0iTFPlMx/yOKmQTPZlo7hneyrcRxag/KvaR87+DQ1qIM6SqJBExDwbiv7aowiGsSf06K0hbajsK+Pba2qSi97Nawt7O5ssbcX5rKXHOs/PJrFnG1LJ5Cfsq/GOFqD8q9pHzsoGoQ5iNi7wkj/PiGduYa/s0VbK1sdjMm/f6sRgrNt6YD5KftqYBAN4k/KPMj//JCxwzUxdL/TT9GD6x+DS68G4WxbOn5+yr4aSLAaNMe+GrGDokGYg5hxfhiRxtsnjPMhv6fVoGy2pePkp+yrgUdrEIN9NSIHRYMwBzF7V3Q5V9eVOUSj49y/39HfrJyuQaxsS8fxTvbVwJNLg4YbV/eppHfQMvSJkRKlbRPejsIeuH2N7rzcHLrh574nz4M42ZaO9k721TgSrUGyr0YBhO93LLJ8y83ZtnQkP09Ga5CsaV8AqHEeUwBCONuWjuTnyYgGFcXoOO/m3FlGOWfb0pH8PBmtQbKvRgFwjhJn29Ip2ztStAbJmvYFwDlKnG1Lp2zvSBENKgrOUeJsWzple0eK1iDZV0MQhCzs8Wt33D3sc5X7+/uMrZ9L4RwlzraJd3lDJxpUTuEcJc62iXd5QycaVE7hHCXOtol3eUMnGlRO4RwlzraJd3lDJxpUTuEcJc62iXd5QycaVE6xo7RdL5VSanWT3zDmtk3tnZTjQpdPg25qNwtvm0X//7tOdj7dPj41SpurSl20+e0/B9um9S7QQe2q/0/69a1xrt+//cHu/9iv4Rah2sKJMXIiqkXC0GXRoO16qdSyXi3tTlo2Gx1NKxZPUoOSonR9oRZX22Obo5uYcLZtUu/ADtqul73LN7UyDnr9u7+7qdVQQzgaXm3tapCe22bhSEzsREyLtKHb49e0n7r5SGJt10sriE9Sg5KixG2cc7ZtWu+ADrKuFo4v/ktQPowC19autO6Yf4+eiGiROHQ8NahdyTwoIUrXF8qeWg8zcHOy3dXcrpRSy2qYxqtls7HeajYP4Dy/XalqfXWYw49qCmfb0ksgP/sOuqnNe09bgu3+vW0Wy2bdhwi2PFDb5qoa4nPEiZgWiUO3x69pP3XzwdHlXydFg46NkvFuuzJzy7kXgK/P3lsX/Vzdnvwfcjo4+T8P29ILmJ+WOiA1yHw8FLA8XNvhSX/omQ58IqJF6tCx06DrC+U/sBQNOjZKOjXdu31zEh66KQAa3VzpnYT7cT7k6/h8nrNt6cXPT6uD8PMgOyD9J+0HyXBthstaShAnwi3ShssJHUqDun01pm4eSCZwaIF9/GTKiVGKjvMuQdHj/LZZDLMV/UyBSIMy2JZenPx0O8hyM/o86LZZjCoCWBtGSsATMS0Sh26PX9N+6uaBzgj5Lxp0bJRi9zuHnEOPcyN3N1fVlPMgHralF8M7sIMMm4NTP+/06Ndbbm3Wh43vyMbNwLRIG7osGjTcuBqPEm/cDQme/PdiSVGyL2iR57769MMdjX7uC1iyuKinnAfxsC29aO9CHaQfnFs+uv1rByT4VSBQm3lDetyJqBYpQ7fH76sxs3FwH0s5zyhxtk28yxu6PX5N+7yGZg8W/8I5SpxtE+/yhk40qJzCOUqcbRPv8oZuj99XI6+h2YPFv3COEmfbxLu8odvj17TPa2j2YPEvnKPE2TbxLm/oRIPKKZyjxNk28S5v6Payr4YgCBnBrt0hCIJAhGiQIAg5EQ0SBCEn/w8pkmcZ5JWxLgAAAABJRU5ErkJggg==” alt=”” />

model层,一个数据库对应的model(Blog),还有一个pageBean(BlogPage)

import java.sql.Date;public class Blog {
private int id;
private int category_id;
private String title;
private String content;
private Date created_time;
  //getter和setter方法
@Override
public String toString() {
return "Blog [id=" + id + ", category_id=" + category_id + ", title=" + title + ", content=" + content
+ ", created_time=" + created_time + "]";
}
}
public class BlogPage {
private List<Blog> pagerecord;//每页记录
private int pageno;//当前页
private int pagenostart;//每页开始索引
private int pagesize=5;//每页多少数据
private int totalrecord;//总记录数
private int totalpage;//总页数 public BlogPage(int pageno,int totalrecord){
//pageno totalrecord都可以当做已有信息
this.totalrecord=totalrecord;
//计算总页数
totalpage=(totalrecord%pagesize==0)?totalrecord/pagesize:totalrecord/pagesize+1;
//pageno的边界处理
if(pageno<=1)
this.pageno=1;
else if(pageno>=totalpage)
this.pageno=totalpage;
else
this.pageno=pageno;
//计算每页开始索引,即每页第一个数据的索引,用于分页查询
pagenostart=(this.pageno-1)*pagesize;
}
public int getPagenostart() {
return pagenostart;
}
public void setPagenostart(int pagenostart) {
this.pagenostart = pagenostart;
}
public List<Blog> getPagerecord() {
return pagerecord;
}
public void setPagerecord(List<Blog> pagerecord) {
this.pagerecord = pagerecord;
}
public int getPageno() {
return pageno;
}
public void setPageno(int pageno) {
this.pageno = pageno;
}
public int getPagesize() {
return pagesize;
}
public void setPagesize(int pagesize) {
this.pagesize = pagesize;
}
public int getTotalrecord() {
return totalrecord;
}
public void setTotalrecord(int totalrecord) {
this.totalrecord = totalrecord;
}
public int getTotalpage() {
return totalpage;
}
public void setTotalpage(int totalpage) {
this.totalpage = totalpage;
}
}

dao层

JDBCUtil封装了jdbc的连接和释放操作

public class JDBCUtil {
private static String url = "jdbc:mysql://localhost:3306/blogs_stu";
private static String username = "root";
private static String password = "";
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection conn;
try {
conn= DriverManager.getConnection(url, username, password);
return conn;
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public static void release(ResultSet rs,PreparedStatement ps,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
public class BlogDao {
//每页的记录,传入每页开始索引和每页大小用于分页,即limit的两个参数(mysql分页用limit)
public List<Blog> getPageRecord(int pagenostart, int pagesize) {
Connection conn = JDBCUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select * from blog limit ?,?";
List<Blog> list = new ArrayList<Blog>();
try {
ps = conn.prepareStatement(sql);
ps.setInt(1, pagenostart);
ps.setInt(2, pagesize);
rs = ps.executeQuery();
while (rs.next()) {
Blog blog = new Blog();
blog.setId(rs.getInt("id"));
blog.setCategory_id(rs.getInt("category_id"));
blog.setTitle(rs.getString("title"));
blog.setContent(rs.getString("content"));
blog.setCreated_time(rs.getDate("created_time"));
list.add(blog);
}
return list;
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.release(rs, ps, conn);
}
return null;
}
//总记录数
public int getTotal() {
Connection conn = JDBCUtil.getConnection();
PreparedStatement ps = null;
ResultSet rs = null;
try {
ps = conn.prepareStatement("select count(*) from blog");
rs = ps.executeQuery();
if (rs.next()) {
return rs.getInt(1);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
JDBCUtil.release(rs, ps, conn);
}
return 0;
}
}

service层

public class BlogService {
BlogDao blogDao = new BlogDao();
//返回pagebean,所有分页需要的信息都去pagebean里查找
public BlogPage findPageRecord(int pageno) {
int totalrecord = blogDao.getTotal();
BlogPage blogpage = new BlogPage(pageno, totalrecord);
List<Blog> list = blogDao.getPageRecord(blogpage.getPagenostart(),blogpage.getPagesize());
blogpage.setPagerecord(list);
return blogpage;
}
}

servlet类

@WebServlet("/BlogSplitServlet")
public class BlogSplitServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=utf-8");
String pagenostr=request.getParameter("pageno");
//首次访问servletpagenostr为null,给一个初始值,即默认访问第一页
int pageno=1;
if(pagenostr!=null)
pageno=Integer.parseInt(pagenostr);
BlogService service=new BlogService();
BlogPage blogPage=service.findPageRecord(pageno);
request.setAttribute("blogPage", blogPage);
request.getRequestDispatcher("/blogPage.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

这样所有的分页信息就封装到pagebean里了

jsp实现只需要将pagebean里的信息取出来就行了

下面给出我的jsp实现(模拟ligerUI)

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="java.util.*,model.Blog,model.BlogPage"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
window.onload = function() {
//保证select的option与当前页显示一致
select = document.getElementById("select");
pageno = '${blogPage.pageno}';
select.options[pageno - 1].selected = 'selected';
}
//select下拉列表跳转
function selectjump() {
var pageno = select.selectedIndex + 1;
window.location.href = "http://localhost/jspPageSplit/BlogSplitServlet?pageno="
+ pageno;
}
//text跳转,onblur事件,输入框失去焦点是发生
function textjump() {
var pageno = document.getElementById("text").value;
window.location.href = "http://localhost/jspPageSplit/BlogSplitServlet?pageno="
+ pageno;
}
</script>
</head>
<body>
<%
BlogPage blogPage = (BlogPage) request.getAttribute("blogPage");
List<Blog> list = blogPage.getPagerecord();
// 尾页填充空白行,若不填充,尾页表格tr行数与前面不一致很难看
if (list.size() < blogPage.getPagesize()) {
for (int i = list.size(); i < blogPage.getPagesize(); i++)
list.add(null);
}
%>
<div style="width: 50%; height: 400px">
<table border="1" cellspacing="0" width="100%" bgcolor="#CEF0C5">
<tr height="40px">
<td>id</td><td>标题</td><td>内容</td><td>创建时间</td>
</tr>
<%
for (Blog blog : list) {
if (blog != null) {
%>
<tr height="50px">
<td width="10%"><%=blog.getId()%></td>
<td width="20%"><%=blog.getTitle()%></td>
<td width="40%"><%=blog.getContent()%></td>
<td width="30%"><%=blog.getCreated_time()%></td>
</tr>
<!-- 尾页空白行填充 -->
<%} else {%>
<tr height="50px">
<td width="10%"></td>
<td width="20%"></td>
<td width="40%"></td>
<td width="30%"></td>
</tr>
<%}}%>
</table>
<div style="height:50px;background-color: #4B7DB3;line-height: 40px;">
&nbsp;&nbsp;
<!-- select下拉框 -->
<select id="select">
<%for (int i = 1; i <= blogPage.getTotalpage(); i++) {%>
<option onclick="selectjump()"><%=i%></option>
<%}%>
</select>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=1" rel="external nofollow" rel="external nofollow" >首页</a>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=<%=blogPage.getPageno()-1<1?blogPage.getPageno():blogPage.getPageno()-1%>" rel="external nofollow" >上一页</a>&nbsp;&nbsp;
<input type="text" id="text" size="1px" value="${blogPage.pageno}" onblur="textjump()">/${blogPage.totalpage}
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=<%=blogPage.getPageno()+1>blogPage.getTotalpage()?blogPage.getPageno():blogPage.getPageno()+1%>" rel="external nofollow" >下一页</a>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=<%=blogPage.getTotalpage()%>" rel="external nofollow" >尾页</a>
<div style="float: right;">
显示从${blogPage.pagenostart+1}到${blogPage.pageno==blogPage.totalpage?blogPage.totalrecord:blogPage.pagesize},
共${blogPage.totalrecord}条. 每页显示${blogPage.pagesize}条
</div>
</div>
</div>
</body>
</html>

这是最后的样子,样式粗略的调了下,功能跟ligerUI默认的分页一模一样

将JSP中代码改为标签(JSTL,需引入相应的jar包)并将JSP中的尾页补白放在servlet中后

servlet中加入

// 尾页填充空白行,若不填充,尾页表格tr行数与前面不一致很难看
List<Blog> list = blogPage.getPagerecord();
if (list.size() < blogPage.getPagesize()) {
for (int i = list.size(); i < blogPage.getPagesize(); i++)
list.add(null);
}
blogPage.setPagerecord(list);

jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="java.util.*,model.Blog,model.BlogPage"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
<script type="text/javascript">
//select下拉列表跳转
function selectjump() {
var select = document.getElementById("select");
var pageno = select.selectedIndex + 1;
window.location.href = "http://localhost/jspPageSplit/BlogSplitServlet?pageno="
+ pageno;
}
//text跳转,onblur事件,输入框失去焦点时发生
function textjump() {
var pageno = document.getElementById("text").value;
window.location.href = "http://localhost/jspPageSplit/BlogSplitServlet?pageno="
+ pageno;
}
</script>
</head>
<body>
<div style="width: 50%; height: 400px">
<table border="1" cellspacing="0" width="100%" bgcolor="#CEF0C5">
<tr height="40px">
<td>id</td><td>标题</td><td>内容</td><td>创建时间</td>
</tr>
<c:forEach items="${blogPage.pagerecord}" var="c" varStatus="vs">
<c:if test="${c!=null}">
<tr height="50px">
<td width="10%">${c.id}</td>
<td width="20%">${c.title}</td>
<td width="40%">${c.content}</td>
<td width="30%">${c.created_time}</td>
</tr>
</c:if>
<!-- 尾页空白行填充 -->
<c:if test="${c==null}">
<tr height="50px">
<td width="10%"></td>
<td width="20%"></td>
<td width="40%"></td>
<td width="30%"></td>
</tr>
</c:if>
</c:forEach>
</table>
<div style="height:50px;background-color: #4B7DB3;line-height: 40px;">
&nbsp;&nbsp;
<!-- select下拉框 -->
<select id="select">
<c:forEach begin="1" end="${blogPage.totalpage}" var="i">
<option value="${i}" onclick="selectjump()" ${blogPage.pageno==i?'selected="selected"':''}>${i}</option>
</c:forEach>
</select>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=1" rel="external nofollow" rel="external nofollow" >首页</a>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=${blogPage.pageno-1<1?blogPage.pageno:blogPage.pageno-1}" rel="external nofollow" >上一页</a>&nbsp;&nbsp;
<input type="text" id="text" size="1px" value="${blogPage.pageno}" onblur="textjump()">/${blogPage.totalpage}
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=${blogPage.pageno+1>blogPage.totalpage?blogPage.pageno:blogPage.pageno+1}" rel="external nofollow" >下一页</a>
<a href="${pageContext.request.contextPath}/BlogSplitServlet?pageno=${blogPage.totalpage}" rel="external nofollow" >尾页</a>
<div style="float: right;">
显示从${blogPage.pagenostart+1}到${blogPage.pageno==blogPage.totalpage?blogPage.totalrecord:blogPage.pagesize},
共${blogPage.totalrecord}条. 每页显示${blogPage.pagesize}条
</div>
</div>
</div>
</body>
</html>

实际运用中可以根据需求编写jsp页面,但是后台代码基本是通用的

aaarticlea/png;base64,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” alt=”” />

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,156
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,624
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,468
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,240
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,876
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,043