struts2入门---ActionContext
Posted Davis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2入门---ActionContext相关的知识,希望对你有一定的参考价值。
1.开发环境搭建
2.简单应用
我们在index.jsp里面这样写:
<a href="TestActionContext.action?name=zhoujing&age=21">Test ActionContext</a>
<%
if(application.getAttribute("date") == null)
application.setAttribute("date", new Date());
%>
现在我们编写一个java类TestActionContext
package com.struts.action; import java.util.Map; import org.apache.struts2.dispatcher.Parameter; import com.opensymphony.xwork2.ActionContext; public class TestActionContext { public String execute(){ //0. 获取ActionContext 对象 //ActionContext 是Action的上下文对象. 可以从当中获取到当前的Action需要的一切信息 ActionContext actionContext = ActionContext.getContext(); //通过调用ActionContext 对象的getApplication()方法来获取application对应的Map对象 //1. 获取application 对应的map 并向其中添加一个属性 Map<String, Object> applicationMap = actionContext.getApplication(); //设置属性 applicationMap.put("applicationKey", "applicationValue"); //获取属性 Object date = applicationMap.get("date"); System.out.println("date: " + date); //2. session Map<String, Object> sessionMap = actionContext.getSession(); sessionMap.put("sessionKey", "sessionValue"); //3. request //ActionContext 中并没有提供getRequest方法来获取Request对应的Map对象 //需要手工的调用get()方法传入request字符串来获取. Map<String, Object> requestMap = (Map<String, Object>) actionContext.get("request"); requestMap.put("requestKey", "requestValue"); //4. 获取请求参数对应的map, 并获取指定的参数值. //注意: 键: 请求参数的名字.值 : 请求参数的值 键值一一对应直接jsp页面可以直接 parameters.key获取值 // parameters这个Map只能读 ,不能写入数据, 如果写入,不出错, 但也不起作用. Map<String, Parameter> parameters = actionContext.getParameters(); System.out.println(parameters.get("name")); System.out.println(parameters.get("age")); return "success"; } }
session与request的获取属性与application一样的所以就不展示了..
现在编写跳转后的显示页面test-actionContext.jsp
application: ${applicationScope.applicationKey } <br><br> session: ${sessionScope.sessionKey } <br><br> request: ${requestScope.requestKey } <br><br> name: ${parameters.name} <br><br> age: ${parameters.age}
最后到达的效果就是这样
会用就好 原理以后用熟悉了自然就懂了......
以上是关于struts2入门---ActionContext的主要内容,如果未能解决你的问题,请参考以下文章
struts2ActionContext与ServletActionContext
Struts2 和 Hibernate - 在 Servlet 外部访问 ActionContext.getContext().getSession()
struts2中 ServletActionContext与ActionContext区别