<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-6  評論-38  文章-40  trackbacks-0

    ?

    Pager類:

    ?

    package ?com.zeroidea.common;

    ?

    public ? class ?Pager? {

    ???????????????????????
    private ? int ?totalRows;??? // ?總行數????

    ???????????????????????
    private ? int ?pageSize;???? // ?單頁數據項

    ???????????????????????
    private ? int ?currentPage; // ?當前頁號

    ???????????????????????
    private ? int ?totalPages;? // ?總頁數

    ???????????????????????
    private ? int ?startRows;?? // ?當前頁在數據庫中記錄位置

    ???????????????????????

    ???????????????????????
    public ?Pager() {??

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    public ?Pager( int ?totalRows) {? // ?指定總行數據

    ????????????????????????
    this .setPageSize( 10 );??? // ?每頁?10條數據?

    ????????????????????????
    this .setTotalRows(totalRows);???

    ?

    ????????????????????????
    int ?pages? = ?totalRows / pageSize;

    ????????????????????????
    if ?((totalRows % pageSize)? > ? 0 ) {

    ????????????????????????????pages
    ++ ;

    ????????????????????????}


    ????????????????????????
    this .setTotalPages(pages);

    ????????????????????????

    ????????????????????????
    this .setStartRows( 0 );

    ????????????????????????
    this .setCurrentPage( 1 );?

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @return ?the?currentPage

    ????????????????????????
    */


    ???????????????????????
    public ? int ?getCurrentPage()? {

    ????????????????????????
    return ?currentPage;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @param ?currentPage?the?currentPage?to?set

    ????????????????????????
    */


    ???????????????????????
    public ? void ?setCurrentPage( int ?currentPage)? {

    ????????????????????????
    this .currentPage? = ?currentPage;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @return ?the?pageSize

    ????????????????????????
    */


    ???????????????????????
    public ? int ?getPageSize()? {

    ????????????????????????
    return ?pageSize;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @param ?pageSize?the?pageSize?to?set

    ????????????????????????
    */


    ???????????????????????
    public ? void ?setPageSize( int ?pageSize)? {

    ????????????????????????
    this .pageSize? = ?pageSize;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @return ?the?startRows

    ????????????????????????
    */


    ???????????????????????
    public ? int ?getStartRows()? {

    ????????????????????????
    return ?startRows;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @param ?startRows?the?startRows?to?set

    ????????????????????????
    */


    ???????????????????????
    public ? void ?setStartRows( int ?startRows)? {

    ????????????????????????
    this .startRows? = ?startRows;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @return ?the?totalPages

    ????????????????????????
    */


    ???????????????????????
    public ? int ?getTotalPages()? {

    ????????????????????????
    return ?totalPages;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @param ?totalPages?the?totalPages?to?set

    ????????????????????????
    */


    ???????????????????????
    public ? void ?setTotalPages( int ?totalPages)? {

    ????????????????????????
    this .totalPages? = ?totalPages;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @return ?the?totalRows

    ????????????????????????
    */


    ???????????????????????
    public ? int ?getTotalRows()? {

    ????????????????????????
    return ?totalRows;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?
    @param ?totalRows?the?totalRows?to?set

    ????????????????????????
    */


    ???????????????????????
    public ? void ?setTotalRows( int ?totalRows)? {

    ????????????????????????
    this .totalRows? = ?totalRows;

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?第一頁

    ????????????????????????
    */


    ???????????????????????
    public ? void ?fristPage() {

    ????????????????????????
    this .setCurrentPage( 1 );

    ????????????????????????
    this .setStartRows( 0 );

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?前一頁

    ????????????????????????
    */


    ???????????????????????
    public ? void ?previousPage() {

    ????????????????????????
    int ?nowPage? = ? this .getCurrentPage();?

    ????????????????????????
    if ?(nowPage? == ? 1 ) {

    ????????????????????????????
    return ;

    ????????????????????????}


    ???????????????????????
    this .setCurrentPage( -- nowPage);

    ????????????????????????
    this .setStartRows((nowPage? - ? 1 )? * ? this .getPageSize());

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?后一頁

    ????????????????????????
    */


    ???????????????????????
    public ? void ?nextPage() {

    ????????????????????????
    int ?nowPage? = ? this .getCurrentPage();

    ????????????????????????
    if ?(nowPage? == ? this .getTotalPages()) {

    ????????????????????????????
    this .lastPage();

    ????????????????????????????
    return ;

    ????????????????????????}


    ????????????????????????
    this .setCurrentPage(nowPage? + ? 1 );

    ????????????????????????
    this .setStartRows(nowPage? * ? this .getPageSize());

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?最后一頁

    ????????????????????????
    */


    ???????????????????????
    public ? void ?lastPage() {

    ????????????????????????
    this .setCurrentPage( this .getTotalPages());

    ????????????????????????
    this .setStartRows(( this .getTotalPages()? - ? 1 )? * ? this .getPageSize());

    ???????????????????????}


    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?刷新頁

    ????????????????????????*?
    @param ?currentPage

    ????????????????????????
    */


    ???????????????????????
    public ? void ?refreshPage( int ?currentPage) {

    ????????????????????????
    this .setCurrentPage(currentPage);???

    ????????????????????????
    this .setStartRows((currentPage? - ? 1 )? * ? this .getPageSize());

    ????????????????????????
    if ?(currentPage? > ? this .getTotalPages()) {

    ????????????????????????????
    this .lastPage();

    ????????????????????????}


    ???????????????????????}


    }


    ?

    ?

    數據查詢:

    ?

    ???????????????????????

    ???????????????????????
    /**

    ????????????????????????*?取得總數據行??:有更簡單的方法請分享

    ????????????????????????
    */


    ???????????????????????
    public ? int ?selectDataRows()? {

    ????????????????????????
    int ?rows? = ? 0 ;

    ????????????????????????List?list?
    = ? null ;

    ????????????????????????Session?session?
    = ? null ;

    ????????????????????????Transaction?transaction?
    = ? null ;

    ????????????????????????Query?query?
    = ? null ;

    ????????????????????????
    try ? {

    ????????????????????????????session?
    = ?SessionFactory.currentSession();

    ????????????????????????????transaction?
    = ?session.beginTransaction();

    ????????????????????????????query?
    = ?session

    ????????????????????????????????????.createQuery(
    " select?msg?from?Msg?as?msg " );

    ????????????????????????????list?
    = ?query.list();

    ????????????????????????????rows?
    = ?list.size();

    ????????????????????????????transaction.commit();

    ????????????????????????????session.close();

    ????????????????????????}
    ? catch ?(Exception?excp)? {

    ????????????????????????????session.close();

    ????????????????????????}


    ?

    ????????????????????????
    return ?rows;

    ???????????????????????}


    ???????????????????????

    ?

    ?

    ?

    ???????????????????????
    /**

    ????????????????????????*?分頁查詢數據

    ????????????????????????*?

    ????????????????????????*?
    @param ?pager?

    ????????????????????????*?
    @return ?0?1?0:?Success?1:?Fail

    ????????????????????????
    */


    ???????????????????????
    public ?List?selectData(Pager?pager)? {

    ????????????????????????List?list?
    = ? null ;

    ????????????????????????Session?session?
    = ? null ;

    ????????????????????????Transaction?transaction?
    = ? null ;

    ????????????????????????Query?query?
    = ? null ;

    ????????????????????????

    ????????????????????????
    try ? {

    ????????????????????????????session?
    = ?SessionFactory.currentSession();

    ????????????????????????????transaction?
    = ?session.beginTransaction();

    ????????????????????????????query?
    = ?session.createQuery( " select?msg?from?Msg?as?msg?order?by?msg.msgId?desc " );

    ????????????????????????????query.setFirstResult(pager.getStartRows());?
    // ?設置起始行

    ????????????????????????????query.setMaxResults(pager.getPageSize());???
    // ?設置取數據行數

    ????????????????????????????list?
    = ?query.list();

    ????????????????????????????transaction.commit();

    ????????????????????????????session.close();

    ????????????????????????}
    ? catch ?(Exception?excp)? {

    ????????????????????????????session.close();

    ????????????????????????}


    ????????????????????????
    return ?list;

    ???????????????????????}


    ?

    ?

    ?

    Action?控制:

    ?

    ???????????????????????
    /**

    ????????????????????????*?查詢?方法,,按分頁查詢

    ????????????????????????*?

    ????????????????????????*?
    @param ?mapping

    ????????????????????????*?
    @param ?form

    ????????????????????????*?
    @param ?request

    ????????????????????????*?
    @param ?response

    ????????????????????????*?
    @return

    ????????????????????????
    */


    ???????????????????????
    public ? void ?selectData(ActionMapping?mapping,?ActionForm?form,

    ????????????????????????????HttpServletRequest?request,?HttpServletResponse?response)?
    {

    ????????????????????????List?list?
    = ? null ;

    ????????????????????????
    int ?currentPage? = ? 1 ;

    ????????????????????????MsgForm?msgForm?
    = ?(MsgForm)?form;

    ????????????????????????

    ????????????????????????String?pageMethod?
    = ?request.getParameter( " pageMethod " );????????? // ?存放請求頁方法

    ????????????????????????String?currentPageTemp?
    = ?request.getParameter( " currentPage " );??? // ?存放當前頁

    ????????????????????????

    ????????????????????????OperTable?operTable?
    = ? new ?OperTable();?????????????????????????? // ?操作表類

    ????????????????????????Pager?pager?
    = ? new ?Pager(operTable.selectDataRows());???????????? // ?頁面控制類

    ????????????????????????

    ????????????????????????

    ????????????????????????
    if ?(currentPageTemp? == ? null ) {

    ????????????????????????????pager.setCurrentPage(
    1 );

    ????????????????????????}
    ? else ? {

    ????????????????????????????currentPage?
    = ?Integer.parseInt(currentPageTemp);

    ????????????????????????}


    ????????????????????????

    ????????????????????????pager.setCurrentPage(currentPage);

    ????????????????????????

    ????????????????????????
    if ?(pageMethod? == ? null ) {

    ????????????????????????????pager.fristPage();??????
    // ?到首頁

    ????????????????????????????System.out.println(
    " 首頁 " );

    ????????????????????????}
    else {

    ????????????????????????????
    if ?(pageMethod.equals( " previousPage " )) {

    ????????????????????????????????pager.previousPage();???
    // ?到前一頁

    ????????????????????????????????System.out.println(
    " 前一頁 " );

    ????????????????????????????}
    ? else ? if ?(pageMethod.equals( " nextPage " )) {

    ????????????????????????????????pager.nextPage();???????
    // ?到后一頁

    ????????????????????????????????System.out.println(
    " 后一頁 " );

    ????????????????????????????}
    ? else ? if ?(pageMethod.equals( " lastPage " )) {

    ????????????????????????????????pager.lastPage();???????
    // ?到尾頁

    ????????????????????????????????System.out.println(
    " 尾頁 " );

    ????????????????????????????}
    else ? if ?(pageMethod.equals( " refreshPage " )) {

    ????????????????????????????????pager.refreshPage(currentPage);

    ????????????????????????????????System.out.println(currentPage);

    ????????????????????????????????System.out.println(
    " 刷新頁 " );

    ????????????????????????????}
    ? else ? {

    ????????????????????????????????pager.fristPage();??????
    // ?到首頁

    ????????????????????????????????System.out.println(
    " 首頁 " );

    ????????????????????????????}


    ????????????????????????}


    ????????????????????????

    ????????????????????????request.setAttribute(
    " pager " ,?pager);

    ????????????????????????request.setAttribute(
    " msgdata " ,?list);

    ????????????????????????request.setAttribute(
    " info " ,? " 已查詢數據 " );

    ????????????????????????msgForm.reset(mapping,?request);

    ???????????????????????}


    ?

    ?

    JSP顯示分頁:?href這樣用:

    ?

    ????????????????????????????????????
    < logic:present?name = " pager " >

    ????????????????????????????????????????
    < a?href = " msg.do?method=select&pageMethod=fristPage&currentPage=<bean:write?name='pager'?property='currentPage'/> " > 首頁 </ a >

    ????????????????????????????????????????
    < a?href = " msg.do?method=select&pageMethod=previousPage&currentPage=<bean:write?name='pager'?property='currentPage'/> " > 前一頁 </ a >

    ????????????????????????????????????????
    < a?href = " msg.do?method=select&pageMethod=nextPage&currentPage=<bean:write?name='pager'?property='currentPage'/> " > 后一頁 </ a >

    ????????????????????????????????????????
    < a?href = " msg.do?method=select&pageMethod=lastPage&currentPage=<bean:write?name='pager'?property='currentPage'/> " > 尾頁 </ a >

    ????????????????????????????????????????共有
    < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " totalRows " /></ span > 條記錄,當前第 < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " currentPage " /></ span > 頁,共有 < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " totalPages " /></ span > ?頁

    ????????????????????????????????????
    </ logic:present >

    ?

    < html:link > ?這樣用

    ?

    ??????????????????
    < logic:present?name = " pager " >

    ?????????????????????
    < html:link?page = " /msg.do?method=select&pageMethod=fristPage " ?paramId = " currentPage " ?paramName = " pager " ?paramProperty = " currentPage " > 首頁 </ html:link >

    ?????????????????????
    < html:link?page = " /msg.do?method=select&pageMethod=previousPage " ?paramId = " currentPage " ?paramName = " pager " ???paramProperty = " currentPage " > 前一頁 </ html:link >

    ?????????????????????
    < html:link?page = " /msg.do?method=select&pageMethod=nextPage " ????paramId = " currentPage " ?paramName = " pager " ???paramProperty = " currentPage " > 下一頁 </ html:link >

    ?????????????????????
    < html:link?page = " /msg.do?method=select&pageMethod=lastPage " ????paramId = " currentPage " ?paramName = " pager " ???paramProperty = " currentPage " > 尾頁 </ html:link >

    ?????????????????????共有

    ?????????????????????
    < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " totalRows " ? />

    ?????????????????????
    </ span > 條記錄,當前第 < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " currentPage " ? />

    ?????????????????????
    </ span > 頁,共有 < span? class = " font-normal-red " >< bean:write?name = " pager " ?property = " totalPages " ? />

    ?????????????????????
    </ span > ?頁

    ?????????????????????????????????????????????????????????????????????????????????????????????????
    </ logic:present >
    posted on 2006-11-30 16:26 一手的小窩窩 閱讀(174) 評論(0)  編輯  收藏 所屬分類: JAVA
    主站蜘蛛池模板: 亚洲成av人无码亚洲成av人| 亚洲国产精品一区| 亚洲sm另类一区二区三区| 免费无码黄十八禁网站在线观看| 午夜影视日本亚洲欧洲精品一区| 亚洲色精品vr一区二区三区| 男女一进一出抽搐免费视频 | 永久免费AV无码国产网站| 亚洲电影唐人社一区二区| 精品熟女少妇a∨免费久久| 亚洲激情中文字幕| 69式互添免费视频| 亚洲中文无码永久免| 四虎永久免费影院| 七次郎成人免费线路视频| 亚洲欧洲自拍拍偷午夜色无码| 13小箩利洗澡无码视频网站免费| 亚洲AV永久纯肉无码精品动漫| 99爱免费观看视频在线| 亚洲av无码久久忘忧草| 国产免费AV片无码永久免费| 日韩精品无码永久免费网站| 成人亚洲性情网站WWW在线观看| 黄色片免费在线观看| 亚洲国产日韩在线成人蜜芽| 日本人的色道www免费一区| 一级美国片免费看| 亚洲国产一区在线| 免费毛片在线看片免费丝瓜视频| 精品亚洲成a人在线观看| 国产亚洲成AV人片在线观黄桃| 最近中文字幕大全免费视频 | 另类小说亚洲色图| 精品亚洲一区二区| 成全影视免费观看大全二| 免费很黄无遮挡的视频毛片| 亚洲国产美国国产综合一区二区| 毛片免费观看网站| 美女巨胸喷奶水视频www免费| 亚洲天堂电影在线观看| 国产免费无遮挡精品视频|