`
lqwforever
  • 浏览: 33337 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ActionContext.getContext()

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

(一)通过ActionContext来获取request、session和application对象的LoginAction1
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中读取
<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")%>

参阅:http://apps.hi.baidu.com/share/detail/9065250
分享到:
评论

相关推荐

    ActionContext在struts2.0中的详细应用

    ActionContext通常通过`ActionContext context = ActionContext.getContext();`来获取,这是因为ActionContext是基于ThreadLocal实现的。ThreadLocal是一种线程局部变量,每个线程都有自己的副本,避免了多线程环境...

    Struts2_TypeConvertion

    B.ActionContext ct= ActionContext.getContext() HttpServletRequest request= (HttpServletRequest)ct.get(ServletActionContext. HTTP_REQUEST ); 获得session对象: 在Struts2中底层的session都被封装成了...

    struts2访问application、session以及request等web资源的示例代码

    此外,Struts2还提供了Action上下文(ActionContext)作为便捷访问这些域的途径,通过`ActionContext.getContext()`获取当前请求的上下文对象,再从中获取所需的域对象。 在"struts2-web"这个压缩包文件中,可能...

    JS客户端RSA加密,Java服务端解密

    ActionContext.getContext().put("exponent", new String(Hex.encodeHex(publicKey.getPublicExponent().toByteArray()))); // 页面里,Javascript对明文进行加密: 09 var modulus = $('#hid_modulus').val(); var...

    Struts2访问request,session,application的四种方式

    例如,你可以使用`ActionContext.getContext().get("key")`来获取请求或会话中的值,而`ActionContext.getContext().getValueStack()`则可以获取ValueStack,它是Struts2中处理模型驱动的一个关键部分。 2. **...

    java详解教程-structs 2

    ActionContext.getContext().getSession(); ActionContext.getContext().getParameters(); ActionContext.getContext().getApplication(); ActionContext.getContext().getContextMap(); ActionContext.getContext()...

    struts2中action如何获取jsp页面参数1.pdf

    由于ActionContext的实例在Action执行时才创建,因此不建议在Action的构造函数中使用`ActionContext.getContext()`,因为此时ActionContext可能尚未初始化。 总的来说,在Struts2中,Action类可以通过...

    struts2中request和session的获取

    这两种方式都是通过`ActionContext`来获取Session对象,第一种直接通过`getSession()`方法得到,第二种则通过`getContext()`方法后,再根据`ActionContext.SESSION`获取。 ### 应用场景示例 1. **用户认证**:在...

    struts2验证码完整实例

    通过ActionContext.getContext().getSession().put("random", randomNum.getRandomCode())将数字存放到session当中 2、当你登录时候,提交的输入框中的验证码和session中存放的验证码比较,如果一样,则通过,不一样,则...

    Struts2的三种传值方式比较(附demo)

    开发者可以直接在Action中使用`ActionContext.getContext().getValueStack()`获取ValueStack,或者通过`ActionContext.getContext().get("request")`或`ActionContext.getContext().get("session")`获取请求和...

    题目关于JAVA

    Object value = ActionContext.getContext().getSession().get("key"); // 设置session ActionContext.getContext().getSession().put("key", value); // 访问request value = ActionContext.getContext().get...

    网页访问计数器

    if (ActionContext.getContext().getSession().get("counter") == null) { count = 1; } else { count = (int) ActionContext.getContext().getSession().get("counter"); count++; } ActionContext....

    struts2创建 request response session application

    ActionContext.getContext().getValueStack().push("myKey", "myValue"); return SUCCESS; } } ``` 然后在JSP页面上通过`OGNL`表达式获取: ```jsp ${myKey} ``` 2. 响应(Response)范围: 响应是服务器向...

    STRUTS2获得作用域、参数响应对象及三种符号说明

    Map session = (Map) ActionContext.getContext().get(ActionContext.SESSION); // 获取原始的HttpSession HttpSession httpSession = request.getSession(); ``` #### 五、总结 Struts2提供了一套完整的机制来...

    struts2的API耦合与动态方法调用

    例如,`ActionContext.getContext().put()`可以用来设置请求参数,而`ActionContext.getContext().get()`则用于获取这些参数。这使得开发者可以直接操作请求和响应对象,而无需显式地从HttpServletRequest和...

    Struts2AndJasperReport

    ActionContext.getContext().getResponse().setHeader("Content-Disposition", "attachment; filename=report.pdf"); responseOutputStream = ActionContext.getContext().getResponse().getOutputStream(); ...

    struts2笔记

    ActionContext.getContext().setLocale(Locale.SIMPLIFIED_CHINESE); break; case 1: // 英文 ActionContext.getContext().setLocale(Locale.US); break; case 2: // 韩文 ActionContext.getContext()....

    struts2中范围对象的操作

    通过调用 `ActionContext.getContext()` 方法可以获得当前的ActionContext实例。ActionContext中包含了多个Map结构,用来存储不同的作用域内的对象。 - **get()** 方法用于获取指定名称的对象。 - **put()** 方法...

    JavaEE ActionContext存取数据示例

    在这个例子中,我们首先通过`ActionContext.getContext()`获取当前的ActionContext,然后使用`getValueStack()`获取ValueStack。接着,我们将创建的`User`对象压入ValueStack,然后从ValueStack中找到该对象并将其放...

Global site tag (gtag.js) - Google Analytics