zoukankan      html  css  js  c++  java
  • Struts2 框架下 session 读出来为null

    我用的strust2框架,开始的时候这么写的:

    在 登陆函数中(注释部分):

    public String dealerLogin(){
            EntityInfo entityinfo=dealerservice.dealerLogin(super.account,super.password);
               if(entityinfo!=null){
    /*             ActionContext ac = ActionContext.getContext();我开始用的这种方式写入到session中
                   ac.getSession().put(KeyConstant.MANAGER,entityinfo); */
                   ServletActionContext.getRequest().getSession().setAttribute(KeyConstant.MANAGER,entityinfo);
                   return "dealertlogin";
               }
               else{
                   return "false";
               }
        }

    用的时候的函数:

    public String addAllMachCode(){
            String[] machinearrs=machinearr.split(";");
            int dealerId=0;
    /*        HttpServletRequest request=ServletActionContext.getRequest();
            HttpSession session=request.getSession();
            EntityInfo entityinfo=(EntityInfo) session.getAttribute(KeyConstant.MANAGER);*/这里读出来  entityinfo是null
            EntityInfo entityinfo= (EntityInfo) ActionContext.getContext().getSession().get(KeyConstant.MANAGER);
            Dealer dealer= entityinfo.getDealer();
            dealerId=dealer.getDEALER_ID();
            for (String machinecode :machinearrs) {
                
                addAMachCode(machinecode,dealerId);
            }
            return SUCCESS;
        }

    这到底是为什么了:
    提取出来 第一种: 写入 ActionContext ac = ActionContext.getContext();
                   ac.getSession().put(KeyConstant.MANAGER,entityinfo)
              读取: HttpServletRequest request=ServletActionContext.getRequest();
                   HttpSession session=request.getSession();
                  EntityInfo entityinfo=(EntityInfo) session.getAttribute(KeyConstant.MANAGER);
          第二种:写入   ServletActionContext.getRequest().getSession().setAttribute(KeyConstant.MANAGER,entityinfo);
              读取: EntityInfo entityinfo= (EntityInfo) ActionContext.getContext().getSession().get(KeyConstant.MANAGER);
    有没有人解释下 为什么  
  • 相关阅读:
    autofac meta
    RazorEngine 3.6.5.0
    pfx 转 snk
    git
    Nlog Layout
    NLog 传递参数
    扫描.net dll引用dll
    vbox android x86 分辨率
    Andriod x86 4,4
    .net cli 源码
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5574955.html
Copyright © 2011-2022 走看看