struts2-13访问或添加几个属性(request/session/application属性)

访问或添加request/session/application属性:

java中:

public String scope() throws Exception(){
    ActionContext cxt = ActionContext.getContext();
    cxt.getApplication.put("app","运用范围");//往servletContext中放入app
    cxt.getSession.put("ses","会话范围");//往session中放入ses
    cxt.put("req","request范围");//往request中放入req
    return "scope";
}

jsp中:

<body>
${applicationScope.app}<br/>
${sessionScope.ses}<br/>
${requestScope.req}<br/>
</body>
获取httpServletRequest/HttpSession/ServletContext/HttpServletResponse对象:

方法一:通过ServletActionContext类之间获取:

public String rsa() throw Exception(){
    HttpServletRequest request = ServletActionContext.getRequest();
    ServletContext servletContext = ServletActionContext.getServeltContext();
    request.getSession();
    HttpServletResponse response = ServletActionContext.getResponse();
    return "scope";
}

方法二:实现指定接口,由struts2框架运行时注入:

public class HelloWorldAction implements ServletRequestAware,ServletResponseAware,ServletContextAware(){
    private HttpServletRequest request;
    private ServletContext servletContext;
    private HttpServletResponse response;

    public void setHttpServletRequest(HttpServletRequest req){
        this.request = req;
    }
    public void setHttpServletResponse(HttpServletResponse res){
        this.response = res;
    }
    public void setServletContext(ServletContext ser){
        this.servletContext = ser;
    }
}

例如:

package cn.gz.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";
    }

}

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值