1. 程式人生 > >java 修改刪除返回當前頁面問題解決辦法

java 修改刪除返回當前頁面問題解決辦法

我們在一些專案開發中,會遇到這樣類似的問題,當用戶點選刪除或者修改以後,頁面總是返回到預設的第一頁,這樣子看起來使用者體驗度也不是很高,那麼,我們有解決的辦法的嗎?有的人建議可以用Ajax進行解決,這樣子的思路也是可以的,筆者沒有試過這種方法.此處,我給大家分享另一種解決辦法

在這裡,看後臺的程式碼

這裡是後臺struts.xml
<!-- 這裡是刪除指定運單號 -->
<action name="delInfoDel" class="com.blogcsdn.action.DeleteOrderInfoAction">
     <result type="redirectAction">listinfo</result>
</action>
在這上面的時候,當用戶點選刪除或者更新的時候,因為引數預設page=1的情況下,自然會默然重定向到第一個頁面,那麼,我們可以自己設想一下,如果在引數後面給定一個引數的時候,那麼,頁面自然就會重定向到當前頁面所在頁數,例如:
<action name="delInfoDel" class="com.blogcsdn.action.DeleteOrderInfoAction">
    <result type="redirectAction">listinfo?page=${current_page}</result>
</action>

此處,型別如果是type="redirectAction",後面的listinfo不用加action,如果是type="redirect" ,則後面的listinfo則要加action,具體的方法還有<param>關於此類引數的用法,大家如果感興趣,可以自己查詢.

那麼,這個引數如何傳入的呢,這個是解決這個問題的關鍵,這裡,實現的辦法是這樣子的:

①在頁面給定一個隱藏表單<input type = "hidden" name="page"  value = "${page}">此處的頁面是你當前頁面的頁數

②回到DeleteOrderInfoAction中,記得,一定是你引數引入的DeleteOrderInfoAction這個JavaBean中,這個類必須有page的setter和getter方法,然後當執行完刪除操作的時候,當前引數page屬性會傳入到要重定向到某個頁面的page引數

這裡是給出DeleteOrderInfoAction中裡面的部分程式碼

//這裡是從頁面獲取到的當前使用者所操作的頁面
    private int page;
    //這裡是頁面重定向到當前使用者所操作的頁面
    private int current_page;
    
    public int getPage() {
        return page;
    }
    public void setPage(int page) {
        this.page = page;
    }
    
    public int getCurrent_page() {
        return current_page;
    }
    public void setCurrent_page(int currentPage) {
        current_page = currentPage;
    }
    public String execute() throws DAOException {
        //把當前使用者所操作的頁面數傳給頁面重定向到的那個current_page引數
        //這裡是你的刪除操作
        current_page = page;
        return "success";
    }

注意:要給定重定向的引數,必須在你修改或者刪除的JavaBean元件中,必須有page的getter和setter方法

(以上只是自己解決問題的部分思路,當然,還有一個問題,如果使用者把當前頁的資訊全部刪除,那麼,頁面就要自動跳轉到上一頁,這個問題我現在沒有研究,當然,大家如果這個還有思路,可以共同來研究)