action访问servlet的API并且获取到MAP或者httpServlet类型的application,session,request
public class testAction3 extends ActionSupport { private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application; /**
* 构造函数,没有返回值
*/
public testAction3(){
this.request=(Map) ActionContext.getContext().get("request");
this.session=ActionContext.getContext().getSession();
this.application=ActionContext.getContext().getApplication();
} @Override
public String execute(){
System.out.println("开始。。。。");
this.request.put("reqAttr","reqDirect");
this.session.put("sessionAttr", "sessionDirect");
this.application.put("appAttr", "appDirect");
return SUCCESS;
} }
<body>
request:${reqAttr}<br>
session:${sessionAttr}<br>
application:${appAttr}<br>
------------------------------<br>
request:${requestScope.reqAttr}<br>
session:${sessionScope.sessionAttr}<br>
application:${applicationScope.appAttr}<br>
</body>
或者使用IoC方法:需要实现相应的接口
public class testAction3 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{ private Map<String,Object> request;
private Map<String,Object> session;
private Map<String,Object> application; @Override
public void setApplication(Map<String, Object> application) {
// TODO Auto-generated method stub
this.application=application;
}
@Override
public void setSession(Map<String, Object> session) {
// TODO Auto-generated method stub
this.session=session;
}
@Override
public void setRequest(Map<String, Object> request) {
// TODO Auto-generated method stub
this.request=request;
} @Override
public String execute(){
System.out.println("开始。。。。");
this.request.put("reqAttr","reqDirect");
this.session.put("sessionAttr", "sessionDirect");
this.application.put("appAttr", "appDirect");
return SUCCESS;
}
}
二、获取http类型
public class testAction3 extends ActionSupport{ private HttpServletRequest request;
private HttpServletResponse response;
private HttpSession session;
private ServletContext application;
/**
* 获取
*/
public testAction3(){
this.request=ServletActionContext.getRequest();
this.response=ServletActionContext.getResponse();
this.session=this.request.getSession();
this.application=ServletActionContext.getServletContext();
} @Override
public String execute() throws Exception{
System.out.println("开始。。。。");
this.request.setAttribute("reqAttr", "reqDirect");
this.application.setAttribute("appAttr", "applicationDirect");
this.session.setAttribute("sessionAttr", "sessionDirect");
// Ajax使用的时候可以用
// PrintWriter out=response.getWriter();
// out.print("response");
// out.flush();
// out.close();
// return null;
return SUCCESS;
}
}
或者用依赖注入方式:
public class testAction3 extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware{ private HttpServletRequest request;
private HttpServletResponse response;
private HttpSession session;
private ServletContext application;
/**
* 获取
*/
@Override
public void setServletContext(ServletContext application) {
// TODO Auto-generated method stub
this.application=application;
}
@Override
public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response=response;
}
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request=request;
} @Override
public String execute() throws Exception{
this.session=this.request.getSession();//session是通过request获取,所以没有关于实现session的接口
System.out.println("开始。。。。");
this.request.setAttribute("reqAttr", "reqDirect");
this.application.setAttribute("appAttr", "applicationDirect");
this.session.setAttribute("sessionAttr", "sessionDirect");
return SUCCESS;
} }
action访问servlet的API并且获取到MAP或者httpServlet类型的application,session,request的更多相关文章
- Action访问Servlet的API
Action访问Servlet的API_,主要访问如下: 1.>获取request对象 2.>获取请求参数 3.>获取response对象,可用于传递cookie 3.>获取作 ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- struts2的action访问servlet API的三种方法
学IT技术,就是要学习... 今天无聊看看struts2,发现struts2的action访问servlet API的三种方法: 1.Struts2提供的ActionContext类 Object g ...
- Struts 2读书笔记-----Action访问Servlet API
Action访问Servlet API Struts2中的Action并没有和任何Servlet API耦合,这样框架更具灵活性,更易测试. 对于Web应用的控制器而言,不访问ServletAPI是几 ...
- 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- Action访问Servlet API的三种方法
一.为什么要访问Servlet API ? Struts2的Action并未与Servlet API进行耦合,这是Struts2 的一个改良,从而方便了单独对Action进行测试.但是对于Web控制器 ...
- Struts2(七) Struts2访问Servlet的API
当接受表单参数,向页面保持数据时.要用到Struts访问Servlet 的API .下面只做参考,有错误或不同意见可以发送邮箱2440867831@qq.com .建议大家看struts文档,源代码 ...
- struts2学习笔记(四)——访问Servlet的API&结果跳转&数据封装
一.Struts2访问Servlet的API 前面已经对Struts2的流程执行完成了,但是如果表单中有参数如何进行接收?又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts ...
- (转)Struts2访问Servlet的API及......
http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行 ...
随机推荐
- swiper 仿淘宝详情页面 视频图片切换
1.好兄弟,看一下是否是你需要的 2.废话不多说 直接上代码,复制粘贴一下 自己引用一下swiper.js和css 然后就可以开始玩儿了 <!DOCTYPE html> <html& ...
- VirtualBox上LInux命令初步学习
大二的寒假已经接近了尾声,寒假期间我初步使用了VirtualBox虚拟机软件,并安装了ubuntu的操作系统进行了Linux语言的学习.然而寒假期间的学习没有太多的计划,纯粹是为了完成作业而应付性的学 ...
- 20155322 2017-2018-1 《信息安全系统设计》第五周 MyBash实现
#20155322 2017-2018-1<信息安全系统设计>第五周 MyBash实现 [博客目录] 实现要求 相关知识 bash fork exec wait 相关问题 fork返回两次 ...
- 20155325 2016-2017-2 《Java程序设计》第2周学习总结
教材学习内容总结 上节课讲了些思维方法:git,vim的使用技巧,推荐了picpick截图软件. 第三章书本上涵盖了基本语法内容 由于在语法方面java和c有相似之处,所以我重点关注不同之处和易忽略之 ...
- #2017-2018-1 20155327 《信息安全系统设计基础》实现mypwd
2017-2018-1 20155327 <信息安全系统设计基础>实现mypwd Linux pwd命令用于显示工作目录. 执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称. p ...
- 考研编程练习---StringMatching(后缀表达式)
题目描述: Finding all occurrences of a pattern in a text is a problem that arises frequently in text-edi ...
- WPF DataGrid使用简介
1)自动生成列 <DataGrid AutoGenerateColumns="True" Name="datagrid" CanUserAddRows=& ...
- DataGrid中的DataGridCheckBoxColumn用法 ..
<my:DataGridCheckBoxColumn Header=" /> private void btnDeleteNote_Click(object sender, Ro ...
- 【bzoj3991】[SDOI2015]寻宝游戏 树链的并+STL-set
题目描述 给出一棵树,初始每个点都是非必经的.多次改变某个点的必经状态,并询问从任意一个点出发,经过所有必经的点并回到该点的最小路程. 输入 第一行,两个整数N.M,其中M为宝物的变动次数. 接下来的 ...
- 【MongoDB】NoSQL Manager for MongoDB 教程(基础篇)
前段时间,学习了一下mongodb,在客户端工具方面,个人认为 NoSQL Manager for MongoDB 是体验比较好的一个,功能也较齐全.可惜在找教程的时候,发现很难找到比较详细的教程,也 ...