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);
    有没有人解释下 为什么  
  • 相关阅读:
    test
    flash链接需要后台调用时的插入flash方法
    js验证码倒计时
    设置Cookie
    用in判断input中的placeholder属性是否在这个对象里
    常用的正则表达式规则
    webApp添加到iOS桌面
    .substr()在字符串每个字母前面加上一个1
    PAT 甲级1001 A+B Format (20)(C++ -思路)
    PAT 1012 数字分类 (20)(代码+测试点)
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5574955.html
Copyright © 2011-2022 走看看