Struts2 在Action中访问上下文变量

如果要取得Servlet API 中的一些对象,如request、response或session,在struts2 中可以有两种方式获得这些对象:

① 非IoC(Inversion of Contorl)方式

     HttpServletRequest request = ServletActionContext.getRequest();

     HttpServletResponse response = ServletActionContext.getResponse();

     HttpSession session = request.getSession();

如果你只想访问session的属性(Attribute)或添加session的属性,你可以通过下面的方式。

Map session = ActionContext.getContext().getSession();

     session.put("username", "joe");

     String username =  (String)session.get("username");

② IoC方式

要使用IoC方式,首先要告诉IoC容器(Container)想要取得摸个对象的意愿,通过实现相应的接口做到这点。包括 SessionAware、ServletRequestAware、ServletResponseAware,这样就可以在该类中定义对应的变量了。

public class IoCServlet extends ActionSupport implements SessionAware,ServletRequestAware,ServletResponseAware{
private Map att;
private HttpServletRequest request;
private HttpServletResponse response;
public void setSession(Map att){
this.att = att;
       }
public void setServletRequest(HttpServletRequest request){
this.request = request;
       }
public void setServletResponse(HttpServletResponse response){
this.response = response;
       }
public String execute(){
       }
}

转载于:https://my.oschina.net/u/1583585/blog/222181

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值