• Struts2中使用Session的两种方法


     

    在Struts2里,如果需要在Action中使用到session,可以使用下面两种方式:
    1. 通过ActionContext 类中的方法getSession得到
    2. Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作
     
    下面先看一个采用第一种方式,在action中得到session的例子
    public class SessionTestAction extends ActionSupport {
        public String execute() {
           ActionContext actionContext = ActionContext.getContext();
           Map session = actionContext.getSession();
           session.put("user", "Test User");
           return SUCCESS;
        }
    }
    在这个例子中,通过ActionContext得到session,并往session里放置一个key为user,值为Test User的内容。
     
    下面是一个实现org.apache.struts2.interceptor.SessionAware接口来对session操作的例子
    public class SessionTest1Action extends ActionSupport implements SessionAware {
        private Map session;
        public void setSession(Map session) {
           this.session = session;
        }
        public String execute() {
           this.session.put("user", "Test User 1");
           return SUCCESS;
        }
    }
    在这个例子中实现了接口SessionAware中的setSession方法。
     
    上面两种方式都可以得到session,能实现的功能都一样。推荐通过第二种方式来使用session,便于单体测试,用第二种方式,只需要构造一个Map就可以对action进行单体测试了。
     
    注销session的方法:
    // 注销
    public String logout() throws Exception {
      ((org.apache.struts2.dispatcher.SessionMap<String, Object>) this.session).invalidate();
      return SUCCESS;
    }
  • 相关阅读:
    MT4系统自带指标代码
    [转载]一个鼠标键盘控制两台甚至多台主机的方法
    国内外证券交易系统开发平台比较
    Win8系统下MT4不能添加指标无法找到技术指标
    Unable to locate package错误解决办法
    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
    ubuntu永久修改主机名
    Ant之build.xml详解
    Memory和Storage有什么区别?
    ubuntu下创建eclipse桌面快捷方式
  • 原文地址:https://www.cnblogs.com/shenliang123/p/2229152.html
Copyright © 2020-2023  润新知