Struts2 是通过ActionContext类来对request,session,application对象进行操作。
需要用到的包com.opensymphony.xwork2.ActionContext;
实例代码
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
/**
* 模块名称_Action/DTO/Service/ServiceImpl
* @author 王宏霞
*/
public class ContextTest{
/**
* 跳转到test_context.jsp的标识
*/
private final static String TEST_CONTEXT = "testContext";
public String execute(){
// 第一种向request对象中存储数据的方法
Map request = (Map) ActionContext.getContext().get("request");
request.put("request1","I am request1");
// 第二种向request对象中存储数据的方法
ActionContext.getContext().put("request2","I am request2");
// 向session对象中存储数据的方法
Map session= (Map) ActionContext.getContext().getSession();
session.put("session1","I am session");
return TEST_CONTEXT;
}
}
jsp获取数据代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page isELIgnored="false" %>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
request1的值是<s:property value="#request.request1"/>
<br/>
request2的值是<s:property value="#request.request2"/>
<br/>
session1的值是<s:property value="#session.session1"/>
<br/>
</body>
</html>
// 第一种向request对象中存储数据的方法
Map request = (Map) ActionContext.getContext().get("request");
request.put("request1","I am request1");
Map request = (Map) ActionContext.getContext().get("request");
request.put("request1","I am request1");
// 向session对象中存储数据的方法
Map session= (Map) ActionContext.getContext().get("session");
session.put("session1","I am session");
// 向session对象中存储数据的方法
Map session= (Map) ActionContext.getContext().get("session");
session.put("session1","I am session");