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);
    有没有人解释下 为什么  
  • 相关阅读:
    【js】js中的||和&&
    【jQuery】form表单元素序列化为json对象
    【jQuery】serializeArray()与serialize()的区别
    【jQuery】jquery-ui autocomplete智能提示
    【js】批量判断表单中的文本框非空
    【php】基础学习5
    【php】基础学习4
    【php】基础学习3
    SpringMVC与Struts2区别与比较总结
    iOS 改变UILabel部分颜色
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5574955.html
Copyright © 2011-2022 走看看