ActionContext使用

 为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest、HttpSession和ServletContext进行了封装,构造了三个Map对象来替代这三种对象,在Action中,直接使用HttpServletRequest、HttpSession和ServletContext对应的Map对象来保存和读取数据。

(一)通过ActionContext来获取request、session和application对象的LoginAction1

[java]

ActionContext context = ActionContext.getContext();   
Map request = (Map)context.get("request");  
Map session = context.getSession();  
Map application = context.getApplication();  
request.put("greeting", "欢迎您来到程序员之家");//在请求中放置欢迎信息。  
session.put("user", user);//在session中保存user对象  
application.put("counter", count);  

在JSP中读取

[xhtml]

<body><h3>${sessionScope.user.username},${requestScope.greeting}。
<br>本站的访问量是:${applicationScope.counter}
</h3>  
</body>  

(二)直接使用ActionContex类的put()方法

ActionContext.getContext().put("greeting", "欢迎您来到http://www. sunxin.org");

然后在结果页面中,从请求对象中取出greeting属性,如下:

${requestScope.greeting} 或者 <%=request.getAttribute("greeting")%>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编码小白

ofbiz view渲染处理机制

1.1.1.1  初始化        ControlServlet.java 这是一个servlet,其配置文件在web.xml里 <servle...

3716
来自专栏你不就像风一样

Java之文本文件的创建和读取(含IO流操作)

1122
来自专栏我的小碗汤

golang 设置 http response 响应头与坑

之前遇到个问题,在一段代码中这样设置WriteHeader,最后在header中取Name时怎么也取不到。

862
来自专栏高性能服务器开发

这些年一直记不住的 Java I/O

阅读目录 参考资料 前言 从对立到统一,字节流和字符流 从抽象到具体,数据的来源和目的 从简单到丰富,使用 Decorator 模式扩展功能 Java 7 中引...

3525
来自专栏软件工程师成长笔记

Java判断计算机网络连接是否正常

2982
来自专栏爱撒谎的男孩

购物车模块

2252
来自专栏黑泽君的专栏

day17_Listener与Filter学习笔记

    事件:就是一个事情。     事件源:产生这个事情的源头。     监听器:用于监听指定的事件的对象。(关联事件和事件源)     注册监听:要想让监听...

641
来自专栏Hongten

JSP 九大内置对象

① out - javax.servlet.jsp.jspWriter    out对象用于把结果输出到网页上。

4432
来自专栏小灰灰

Java之写文件

java之写文件 上一篇写了java读取文件的各种操作姿势,这里也补一个写文件的工具类,比较简单 1. 读写类介绍 (和上一篇差不多) java读写文件的I...

3256
来自专栏于晓飞的专栏

Java I/O 总结

Java I/O的的架构使用了装饰器的模式,我们在使用流的时候需要新建很多的装饰器对象,对源数据进行层层包装。各个包装类名以及它们的应用场景比较多,初学的时候难...

2173

扫码关注云+社区

领取腾讯云代金券