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

向response,request,application中放入属性

 public String execute() throws Exception{
   
  ActionContext atx=ActionContext.getContext();
  atx.getApplication().put("app", "应用范围");//往application里放入数据
  atx.getSession().put("ses","session范围");//往session里放入数据
  atx.put("req","request范围");//往request里放入数据

  atx.put("arrays",Arrays.asList("涨","li"));//向request中放入数组
  
  return "message";
 }

在jsp页面上使用el表达式:

${applicationScope.app}

${sessionScope.ses}

${requestScope.req}

如果在action代码中要得到request,response以及serverletContext对象,那么可以通过ServletActionContext类直接得到,还可以为Action指定实现的接口,由struts在运行期注入对象。

public String res() 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 "";
 }

原文地址:https://www.cnblogs.com/jinzhengquan/p/1963696.html