第十五章 访问或添加request等属性

添加request/session/aplication范围内属性
cn.itcast.action.HelloWorldAction文件:
package cn.itcast.action;

import java.util.Arrays;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;

public class HelloWorldAction {
	
	public String execute(){
		ActionContext ctx = ActionContext.getContext();
		ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app
		ctx.getSession().put("ses", "session范围");//往session里放入ses
		ctx.put("req", "request范围");//往request里放入req
		ctx.put("names", Arrays.asList("老张", "老黎", "老方"));
		return "message";
	}
	
	public String rsa() throws Exception{
		HttpServletRequest request = ServletActionContext.getRequest();
		ServletContext servletContext = ServletActionContext.getServletContext();
		request.setAttribute("req", "请求范围属性");
		request.getSession().setAttribute("ses", "会话范围属性");
		servletContext.setAttribute("app", "应用范围属性");
		//HttpServletResponse response = ServletActionContext.getResponse();
		return "message";
	}

}


action执行完后跳转的jsp,用于显示


<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>struts2</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0"> 

  </head>
  
  <body>
  	${applicationScope.app} <br>
    ${sessionScope.ses}<br>
    ${requestScope.req}<br>
    ==============================<br/>
    <c:forEach items="${names}" var="name">
    	${name }<br/>
    </c:forEach>
  </body>
</html>





你可能感兴趣的:(第十五章 访问或添加request等属性)