struts2用ActionContext获取Web资源。
2015-12-30 13:40
555 查看
什么是Web资源?比如http post的值,session,等等。
ActionContext是在com.opensymphony.xwork2.ActionContext;的一个对象,通过静态成员getContext()获取ActionContext对象的实例。
通过 成员变量 getSession获取一个Map<String,Object> 关于http session的map.键为session的键,值为session存的值。
在Jsp中可以使用EL表达式${sessionScope.键}获取这个Session值,El表达式和标签库不一样的是,el表达式 不需要加任何包的支持,用于显示数据。
testAction.java
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
public class testAction {
public String execute()
{
//|getContext()是静态函数
ActionContext ac=ActionContext.getContext();
//|sessionMap
Map<String,Object> sessionMap=ac.getSession();
sessionMap.put("SessionKey", "SessionValue");
return "success";
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="test" extends="struts-default" namespace="/test">
<!-- ActionContext获取Web资源 -->
<action name="test1" class="testAction">
<result name="success">/test1.jsp</result>
</action>
</package>
</struts>
test1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'test1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
下面是ActionContext的测试结果 <br>
${sessionScope.SessionKey}
</body>
</html>
ActionContext是在com.opensymphony.xwork2.ActionContext;的一个对象,通过静态成员getContext()获取ActionContext对象的实例。
通过 成员变量 getSession获取一个Map<String,Object> 关于http session的map.键为session的键,值为session存的值。
在Jsp中可以使用EL表达式${sessionScope.键}获取这个Session值,El表达式和标签库不一样的是,el表达式 不需要加任何包的支持,用于显示数据。
testAction.java
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
public class testAction {
public String execute()
{
//|getContext()是静态函数
ActionContext ac=ActionContext.getContext();
//|sessionMap
Map<String,Object> sessionMap=ac.getSession();
sessionMap.put("SessionKey", "SessionValue");
return "success";
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="test" extends="struts-default" namespace="/test">
<!-- ActionContext获取Web资源 -->
<action name="test1" class="testAction">
<result name="success">/test1.jsp</result>
</action>
</package>
</struts>
test1.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'test1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
下面是ActionContext的测试结果 <br>
${sessionScope.SessionKey}
</body>
</html>
相关文章推荐
- 个人学习-java-session-验证码提交
- java String字符串转换以及拼接
- java String字符串转换以及拼接
- 深入分析JavaWeb Item39 -- 监听器(Listener)学习进阶
- java2---java环境---jdk,jre(2):深入理解JDK、JRE
- Spring MVC 3中各个jar包的作用
- struts2 helloworld用JavaBean的方式获取post值并传jsp页面获取
- Springmvc构造RESTful详细讲解
- Java常用工具类总结(一)
- spring4.2+mybatis3.3+freemark+log4j2+fastjson整合
- Java第二课:整数、浮点数
- maven提示jdk版本或项目版本问题
- Java时时调度(二)
- Java并发和多线程2:3种方式实现数组求和
- Java并发和多线程2:3种方式实现数组求和
- Java并发和多线程2:3种方式实现数组求和
- spring-data-jpa 笔记
- spring-data-jpa 笔记
- spring restful 中文乱码问题
- struts_basics