在servlet中,通过request.getparameter与setparameter来实现后端与前端jsp页面的数据交互,那么在struts中,也有几种方式来操作request,session实现后端与前端的交互。

方法一、利用ActionContext.getContext().get("request");

  1. Map<String,Object> request = (Map<String,Object>)ActionContext.getContext().get("request");
  2. request.put(key, value);
  3. request.get("key");
  4.  
  5. Map<String,Object> session = ActionContext.getContext().getSession();
  6. session.put(key, value);
  7. session.get(key);

方法二、使用ServletActionContext.getRequest();

  1. HttpServletRequest request = ServletActionContext.getRequest();
  2. request.setAttribute(arg0, arg1);
  3. request.getAttribute(arg0)
  4.  
  5. HttpServletRequest req = ServletActionContext.getRequest();
  6. HttpSession session = req.getSession();
  7. session.setAttribute(arg0, arg1);
  8. session.getAttribute(arg0);

方法三、使用RequestAware,SessionAware接口

1.实现这两个接口

  1. public class NewsAction extends ActionSupport implements RequestAware,SessionAware {}

2.定义两个成员变量

  1.    private Map<String,Object> session;
  2. private Map<String,Object> request;

3.重写接口中的方法

  1. @Override
  2. public void setRequest(Map<String, Object> arg0) {
  3. this.request = arg0;
  4.  
  5. }
  6. @Override
  7. public void setSession(Map<String, Object> arg0) {
  8. // TODO Auto-generated method stub
  9. this.session = arg0;
  10. }

4.使用session.put(),session.get(),request.put(),request.get()方法实现

  1. public class NewsAction extends ActionSupport implements RequestAware,SessionAware {
  2. private Map<String,Object> session;
  3. private Map<String,Object> request;
  4.   @Override
  5. public void setRequest(Map<String, Object> arg0) {
  6. this.request = arg0;
  7.  
  8. }
  9. @Override
  10. public void setSession(Map<String, Object> arg0) {
  11. // TODO Auto-generated method stub
  12. this.session = arg0;
  13. }
  14. }

struts如何在Action类中操作request,session的更多相关文章

  1. struts中操作request,session

    在Action类中操作request,session 方法一.利用ActionContext.getContext().get("request"); //返回的是Map集合 Ma ...

  2. Action类中获取request等对象的方法

    struts2中的action类中,SevletActionContext可以获取

  3. 在Action类中获得HttpServletResponse对象的四种方法

    在struts1.xAction类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得Ht ...

  4. 在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法

    在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法   ==========方法1: --------1. 选相应 ...

  5. 如何在WebSocket类中访问Session

    我最近正在做一个基于websocket的webQQ,最后代码会开源带github上,所以过程中我就不贴所有的代码啦~就贴问题的关键. 我在WebSocket里发消息的时候需要用到session,因为在 ...

  6. action类中属性驱动和模型驱动的区别

    1.Struts2的属性驱动 在Action类中,属性××通过get××()和set××()方法,把参数在整个生命周期内进行传递,这就是属性驱动 代码如下: package org.abu.csdn. ...

  7. 怎样在一个fragment or 随意类中操作还有一个fragment中的方法

    1 怎样在acitivty中运行fragment中的方法: 首先获得这个Fragment的对象 xxxFragment fragmentObject = (xxxFragment) getFragme ...

  8. 在java中如何在非servlet的普通类中获取request、response、session

    原文:http://blog.csdn.net/u012255097/article/details/53092628 在spring的普通类中: HttpServletRequest request ...

  9. 教你在Java的普通类中轻松获取Session以及request中保存的值

    曾经有多少人因为不知如何在业务类中获取自己在Action或页面上保存在Session中值,当然也包括我,但是本人已经学到一种办法可以解决这个问题,来分享下,希望对你有多多少少的帮助! 如何在Java的 ...

随机推荐

  1. 带提示范围的猜数小游戏--python

    import random random_number = random.randint(1, 99) print(random_number) start_data = 1 end_data = 9 ...

  2. PAT (Basic Level) Practice 1032 挖掘机技术哪家强

    个人练习 为了用事实说明挖掘机技术到底哪家强,PAT 组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入格式: 输入在第 1 行给出不超过 10​^5的正整数 N,即参赛人数 ...

  3. java 程序文本文档形式的编写,编译,及运行

    一.程序的编写 1.在指定路径下新建文本文档 如在f盘新建了一个名为demo的文件夹,在该文件夹路径下新建了一个文本文档 2.打开文本文档,进行编写,例如: 3.保存 选择文件另存为,文件名称为你创建 ...

  4. 搭建Git服务器-SCM-Manager

    基于配置简单的原则,先试用一下SCM-Manager http://www.scm-manager.org/ 看主页介绍:Very easy installation 安装简单,配置方便,不需要额外的 ...

  5. 广州Uber优步司机奖励政策(1月11日~1月17日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. C++中std::fill/std::fill_n的使用

    There is a critical difference between std::fill and memset that is very important to understand. st ...

  7. 回写盘写速度被限速为10M左右

    问题现像如下图所示: 用hd-speed等测试虚拟盘速度都能达到90M/s左右,但复制文件到虚拟盘速度最高只有10M/s 原因:由于客户机开机加载这个随机驱动和随机进程后,会对磁盘启动进程等有扫描检查 ...

  8. elasticsearch安装中文分词器

    1. 分词器的安装 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/rele ...

  9. react组件性能

    一.渲染原理 二.性能优化 三.Immutable在性能优化中的作用

  10. Qt-QML-Popup,弹层界面编写

    随着接触Qt的时间的增加,也逐渐的发现了Qt 的一些不人信话的一些地方,不由的想起一句话,也不知道是在哪里看到的了“一切变成语言都是垃圾,就C++还可以凑合用”大致意思是这样.最近项目的祝界面框架都基 ...