struts中数据处理的几种方式

处理数据的三个步骤

1.请求数据封装
2.调用service处理业务逻辑,拿到结果数据
3.数据保存到域中

方式一 、通过ServletApi

 //直接拿到servletApi,执行操作
        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类

//推荐:解藕的方式实现对数据的操作
        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();

        //数据
        request.put("request_data","request_data_request_data ");
        session.put("session_data","session_data_request_data ");
        application.put("context_data","context_data_request_data ");

方式三、实现接口的方法

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;

/**
 * 数据处理 方式三,实现接口的方法
 */
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;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,398评论 18 399
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,030评论 6 13
  • (一)Struts、Spring、Hibernate、Mybatis框技术 1.Struts2.0有几种标签库 【...
    独云阅读 8,540评论 0 62
  • 转眼已经在拾美工作一个星期了,工作是忙中带累、累中带闲。我也不是说我有多勤快,但我的确比另外的两个人要好很多,不会...
    Me_Autism阅读 1,535评论 0 1
  • 最好的年华不是吹牛, 也不是炫富。 最好的年华是有知心的朋友, 一起玩耍 一起说笑 一起高兴、伤心 可我们的年华都...
    愿如初音阅读 1,396评论 1 1

友情链接更多精彩内容