我用的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);有没有人解释下 为什么
时间: 2024-10-22 06:50:13