struts中數(shù)據(jù)處理的幾種方式

處理數(shù)據(jù)的三個步驟

1.請求數(shù)據(jù)封裝
2.調(diào)用service處理業(yè)務(wù)邏輯,拿到結(jié)果數(shù)據(jù)
3.數(shù)據(jù)保存到域中

方式一 、通過ServletApi

 //直接拿到servletApi,執(zhí)行操作
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpSession session = request.getSession();
        ServletContext servletContext = ServletActionContext.getServletContext();

        //保存
        request.setAttribute("request_data","request_data");
        session.setAttribute("session_data","session_data");
        servletContext.setAttribute("context_data","context_data");

方式二、 通過Action類

//推薦:解藕的方式實現(xiàn)對數(shù)據(jù)的操作
        ActionContext ac = ActionContext.getContext();
        //拿到struts對HttpServletRequest進行了封裝,封裝為一個map
        //拿到表示request對象map
        Map<String, Object> request = ac.getContextMap();
        //拿到表示Session對象map
        Map<String, Object> session = ac.getSession();
        //拿到表示servletContext對象map
        Map<String, Object> application = ac.getApplication();

        //數(shù)據(jù)
        request.put("request_data","request_data_request_data ");
        session.put("session_data","session_data_request_data ");
        application.put("context_data","context_data_request_data ");

方式三、實現(xiàn)接口的方法

package action;

import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;

import java.util.Map;

/**
 * 數(shù)據(jù)處理 方式三,實現(xiàn)接口的方法
 */
public class DataAction2 extends ActionSupport implements RequestAware, SessionAware, ApplicationAware {
    private Map<String, Object> request;
    private Map<String, Object> session;
    private Map<String, Object> application;

    //struts運行的時候,會把代表request的map對象注入
    public void setRequest(Map<String, Object> request) {
        this.request = request;
    }

    public void setSession(Map<String, Object> session) {
        this.session = session;

    }

    public void setApplication(Map<String, Object> application) {
        this.application = application;
    }

    @Override
    public String execute() throws Exception {
        request.put("request_data","request_data_request_Aware ");
        session.put("session_data","session_data_request_Aware ");
        application.put("context_data","context_data_request_Aware ");
        return SUCCESS;
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,739評論 18 399
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,081評論 6 13
  • (一)Struts、Spring、Hibernate、Mybatis框技術(shù) 1.Struts2.0有幾種標簽庫 【...
    獨云閱讀 3,267評論 0 62
  • 轉(zhuǎn)眼已經(jīng)在拾美工作一個星期了,工作是忙中帶累、累中帶閑。我也不是說我有多勤快,但我的確比另外的兩個人要好很多,不會...
    Me_Autism閱讀 206評論 0 1
  • 最好的年華不是吹牛, 也不是炫富。 最好的年華是有知心的朋友, 一起玩耍 一起說笑 一起高興、傷心 可我們的年華都...
    愿如初音閱讀 173評論 1 1