struts之Action中获取request、response对象的方法

本文详细介绍了Struts框架中Action类如何通过ServletActionContext获取HttpServletRequest、HttpSession、ServletContext、HttpServletResponse对象,并展示了如何在不同作用域(request、session、application)中添加、访问或修改属性。

struts之Action中获取request、response对象的方法

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

public String scope() throws Exception{

   ActionContext ctx = ActionContext.getContext();

   ctx.getApplication().put("app", "应用范围");//往ServletContext里放入app

   ctx.getSession().put("ses", "session范围");//往session里放入ses

   ctx.put("req", "request范围");//往request里放入req

   return "scope";

}

JSP:

<body>

   ${applicationScope.app} <br>

   ${sessionScope.ses}<br>

   ${requestScope.req}<br>

</body>

                  

2、获取HttpServletRequest/HttpSession/ServletContext/HttpServletResponse对象

方法一、通过ServletActionContext类直接获取:

public String rsa() throws Exception{

   HttpServletRequest request = ServletActionContext.getRequest();

   ServletContext servletContext =ServletActionContext.getServletContext();

   request.getSession();

   HttpServletResponse response = ServletActionContext.getResponse();

    return "scope";

}

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

public class HelloWorldAction implementsServletRequestAware, ServletResponseAware, ServletContextAware{

   private HttpServletRequest request;

   private ServletContext servletContext;

   private HttpServletResponse response;

   public void setServletRequest(HttpServletRequest req) {

       this.request=req;

    }

   public void setServletResponse(HttpServletResponse res) {

       this.response=res;

    }

   public void setServletContext(ServletContext ser) {

       this.servletContext=ser;

    }

}

          

代码

 

package com.ljq.action;

 

import java.util.Arrays;

 

import javax.servlet.ServletContext;

importjavax.servlet.http.HttpServletRequest;

 

import org.apache.struts2.ServletActionContext;

 

importcom.opensymphony.xwork2.ActionContext;

public class HelloWorldAction {

//在页面中采用以下el表达式输出

//第一种

//${applicationScope.app}

//${sessionScope.ses}

//${requestScope.req}

//第二种

//${app}

//${ses}

//${req}

public String list() {

ActionContext ctx =ActionContext.getContext();

ctx.getApplication().put("app","应用范围");// 往ServletContext里放入application

ctx.getSession().put("ses","session范围");// 往session里放入session

ctx.put("req", "request范围");// 往request里放入request

ctx.put("names",Arrays.asList("张三", "李四", "王五"));

return "message";

}

 

//在页面中采用以下el表达式输出

//第一种

//${applicationScope.app}

//${sessionScope.ses}

//${requestScope.req}

//第二种

//${app}

//${ses}

//${req}

public String get() 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代码

${applicationScope.app} <br>

${sessionScope.ses}<br>

${requestScope.req}<br>

===========<br/>

${app} <br>

${ses}<br>

${req}<br>

===========<br/>

<c:forEach items="${names}"var="name">

${name }<br/>

</c:forEach>

 

 

HttpServletRequest request =ServletActionContext.getRequest();

   HttpSessionsession = request.getSession();

内容概要:本文系统阐述了企业新闻发稿在生成式引擎优化(GEO)时代下的全渠道策略与效果评估体系,涵盖当前企业传播面临的预算、资源、内容与效果评估四大挑战,并深入分析2025年新闻发稿行业五大趋势,包括AI驱动的智能化转型、精准化传播、首发内容价值提升、内容资产化及数据可视化。文章重点解析央媒、地方官媒、综合门户和自媒体四类媒体资源的特性、传播优势与发稿策略,提出基于内容适配性、时间节奏、话题设计的策略制定方法,并构建涵盖品牌价值、销售转化与GEO优化的多维评估框架。此外,结合“传声港”工具实操指南,提供AI智能投放、效果监测、自媒体管理与舆情应对的全流程解决方案,并针对科技、消费、B2B、区域品牌四大行业推出定制化发稿方案。; 适合人群:企业市场/公关负责人、品牌传播管理者、数字营销从业者及中小企业决策者,具备一定媒体传播经验并希望提升发稿效率与ROI的专业人士。; 使用场景及目标:①制定科学的新闻发稿策略,实现从“流量思维”向“价值思维”转型;②构建央媒定调、门户扩散、自媒体互动的立体化传播矩阵;③利用AI工具实现精准投放与GEO优化,提升品牌在AI搜索中的权威性与可见性;④通过数据驱动评估体系量化品牌影响力与销售转化效果。; 阅读建议:建议结合文中提供的实操清单、案例分析与工具指南进行系统学习,重点关注媒体适配性策略与GEO评估指标,在实际发稿中分阶段试点“AI+全渠道”组合策略,并定期复盘优化,以实现品牌传播的长期复利效应。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值