91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struts2分頁的實現方法

發布時間:2021-08-05 20:15:00 來源:億速云 閱讀:114 作者:chen 欄目:編程語言

本篇內容主要講解“Struts2分頁的實現方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Struts2分頁的實現方法”吧!

1.介紹

(1)Struts2相當于是servlet,和servelt不同的是當提交到struts.xml中之后,通過aciton標簽就可以直接調用想用的方法,減少了代碼量。

(2)在ActionSuport中set方法是注入,即是set方法是獲取jsp頁面中傳過來的值,get方法是是向jsp頁面發送值,值得一提的是有了get和set方法之后就取代了servlet中的

request.getParameter("");和重定向的操作。在這里要重點理解get和set方法的使用。

(3)在struts2分頁中set和set方法更能突出它的用法。

2.下面來看實例把!

(1)首先訪問這個頁面時就應該查找出nowPage為1信息,所以在action中要判斷nowPage是否為空。

在jsp頁面的分頁判斷可以寫為:

<div>                    <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=1">首頁</a>                    <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${nowPage-1<=1?1:nowPage-1}">上一頁</a>                    <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${nowPage+1>=page.countPage?page.countPage:nowPage+1}">下一頁</a>                    <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${page.countPage}">末頁</a>                </div>

當然可以在Page中封裝好nowPage的判斷,在這里主要介紹action。

當點擊下一頁的時候會連接到findAllPro.action這個struts.xml中的action,

struts.xml 文件為:

<?xml version="1.0" encoding="GBK"?>    <!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"        "http://struts.apache.org/dtds/struts-2.3.dtd">    <struts>        <package name="pro" namespace="/" extends="struts-default">            <action name="findAllPro" class="cn.csdn.hr.action.ProvinceAction" method="findAll">                <result>./list.jsp</result>            </action>        </package>    </struts>

從struts.xml中可以看出findAllPro連接到的是cn.csdn.hr.action.ProvinceAction下的findAll方法,我們去找ProvinceAction,為:

// 分頁查詢    public String findAll() {         if ("".equals(nowPage) || nowPage == null) {            this.nowPage = 1;        }        System.out.println(nowPage + "==============");         page = new PageWhere("Province", nowPage, "where 1<2");        // page= page.getDatas();        return SUCCESS;    }

因為要返回到jsp頁面,所以要寫一個get方法來把page傳到jsp頁面中:

// 得到page的值 ,并把得到的值放到page中,page可以獲取所有的東西    private PageWhere page;     public PageWhere getPage() {        return page;    }

這樣就把當前頁的信息傳到了jsp中,但是在分頁的時候因為nowPage是jsp和struts2來回傳的值,并且是一個變量,所以設置一個屬性nowPage,生成get和set方法,來獲取nowPage和把修改的nowPage傳到jsp中,整個ProvinceAction頁面為:

package cn.csdn.hr.action;        import cn.csdn.hr.HibernateUtil.PageWhere;    import cn.csdn.hr.domain.Province;    import cn.csdn.hr.service.ProvinceService;    import cn.csdn.hr.service.ProvinceServiceImpl;        import com.opensymphony.xwork2.ActionSupport;        public class ProvinceAction extends ActionSupport {            /**         * get方法是向jsp頁面中傳值 set方法向獲取jsp頁面的值         */        private static final long serialVersionUID = 1L;            private ProvinceService provinceService = new ProvinceServiceImpl();            private Integer id;        private String name;            public ProvinceAction() {            super();        }            // 通過頁面注入進來的。id的名稱一定要和表單中 的一致        public void setId(Integer id) {            this.id = id;        }            public void setName(String name) {            this.name = name;        }            // 接收傳過來的nowPage        private Integer nowPage;            public void setNowPage(Integer nowPage) {            this.nowPage = nowPage;        }            public Integer getNowPage() {            return nowPage;        }            // 得到page的值 ,并把得到的值放到page中,page可以獲取所有的東西        private PageWhere page;            public PageWhere getPage() {            return page;        }            // 分頁查詢        public String findAll() {                if ("".equals(nowPage) || nowPage == null) {                this.nowPage = 1;            }            System.out.println(nowPage + "==============");                page = new PageWhere("Province", nowPage, "where 1<2");            // page= page.getDatas();            return SUCCESS;        }    }

整個jsp頁面為:

<body>        <div align="center">            <h4>                省市操作            </h4>            <table border="1px" cellpadding="0px" cellspacing="0px" width="300px">                <tr>                    <th>                        編號                    </th>                    <th>                        省名                    </th>                    <th>                        操作                    </th>                </tr>                <tbody>                    <c:forEach items="${page.datas}" var="entity">                        <tr align="center">                            <td>                                ${entity.id}                            </td>                            <td>                                ${entity.name}                            </td>                            <td>                                                                <a href="${pageContext.request.contextPath}/insert.jsp">添加</a>                                <a href="${pageContext.request.contextPath}/delPro.action?id=${entity.id}">刪除</a>                                <a href="${pageContext.request.contextPath}/updatePro.action?id=${entity.id}">編輯</a>                            </td>                        </tr>                    </c:forEach>                </tbody>            </table>            <br/>            <div>                <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=1">首頁</a>                <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${nowPage-1<=1?1:nowPage-1}">上一頁</a>                <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${nowPage+1>=page.countPage?page.countPage:nowPage+1}">下一頁</a>                <a href="${pageContext.request.contextPath}/findAllPro.action?nowPage=${page.countPage}">末頁</a>            </div>        </div>    </body>

以上數據和從hibernate配置的數據庫中讀取出來的,分頁學會了,這個就是小case了。主要看其中的注釋就ok了。但是在寫更新的時候需要注意:

更新需要在更新完之后要在內部跳轉到查詢的頁面,所以結果應寫為:

<result type="chain">findAllPro</result>

記住要寫type、類型。

到此,相信大家對“Struts2分頁的實現方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣城市| 新和县| 怀远县| 汨罗市| 涞源县| 墨竹工卡县| 澄迈县| 桂阳县| 丹江口市| 象山县| 东乌珠穆沁旗| 桐庐县| 岳普湖县| 沁阳市| 香格里拉县| 马关县| 胶南市| 皮山县| 静安区| 岗巴县| 页游| 泗洪县| 武宁县| 黄石市| 榕江县| 辛集市| 泰顺县| 射阳县| 盖州市| 栾城县| 日土县| 绥宁县| 仪征市| 浪卡子县| 瓮安县| 宁津县| 新绛县| 赤水市| 东港市| 四川省| 读书|