问题描述
登录之后是这个样子点完修改密码之后在返回主界面的时候就这样了上面的员工编号,都是和下面显示的数据都是一样的,通过session获取过来的,上面的不管怎么切换都是显示的,下面的就不行这是为什么?求解。。。急急急
解决方案
解决方案二:
代码贴出来看看呗
解决方案三:
看看session中存放值的情况是怎样的
解决方案四:
这是action中的代码,最主要的,别的都是set与get方法publicStringexecute(){HtzViewDAOhvd=newHtzViewDAO();//用来访问数据库操作的类HtzViewIdhvi=newHtzViewId();//用来给查询条件传参数hvi.setUserId(this.getUserId());//传递帐号hvi.setPassword(this.getPassword());//传递密码this.setList(hvd.findById(this.getUserId()));//进行查询,然后讲返回的结果存放在list中if(list.size()==0){//判断返回的结果是否空,空代表输入的帐号不存在return"error";}ServletActionContext.getRequest().getSession().setAttribute("list",list);HtzViewhv=list.get(0);this.setDepartment(hv.id.getDepartment());this.setName(hv.id.getName());if(hv.id.getUserId().trim().equals(this.getUserId())&&hv.id.getPassword().trim().equals(this.getPassword())){return"success";}else{return"error";}}
解决方案五:
我有一个主界面叫main.jsp,它包含了三个页面,top:用来显示上面员工编号、姓名等信息的;head:用来显示数据信息的,工资等等;bottom:用来显示导航的;同样是包含进来的,top就能正常的获取,head就不能正常的获取这是top中的代码:<tableborder="0"><tr><tdwidth="100"bgcolor="#66FFCC"align="center">员工编号:</td><tdwidth="100"bgcolor="#66FFCC"align="center"><s:propertyvalue="#session.list.{id}.{userId}[0]"/></td><tdwidth="60"bgcolor="#66FFCC"align="center">部门:</td><tdwidth="200"bgcolor="#66FFCC"align="center"><s:propertyvalue="#session.list.{id}.{department}[0]"/></td><tdwidth="60"bgcolor="#66FFCC"align="center">姓名:</td><tdwidth="80"bgcolor="#66FFCC"align="center"><s:propertyvalue="#session.list.{id}.{name}[0]"/></td></tr></table>这是head.jsp中的代码,其余全是html标签没有设计OGNL的<s:iteratorvalue="#session.list"id="list"status="status"><tr><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{month}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{gwgz}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{xjgz}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{jhjt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{gwbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{dszf}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{tfbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{fnf}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{jsbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{zfbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{llm}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{gzbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{shbt}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{bf}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{ylgz}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{sds}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{gjj}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{hf}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{kk}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{bkyb}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{ylbx}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{ylbx_1}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{sybx}[#status.getIndex()]"/></td><tdwidth="80"height="20"align="center"><s:propertyvalue="list.{id}.{slgz}[#status.getIndex()]"/></td></tr></s:iterator>
解决方案六:
跳转后的数据没有保存下来
解决方案七:
那为什么上面的员工编号等信息还是存在的呢,都是从session中获取过来的
解决方案八:
hvi.setUserId(this.getUserId());//传递帐号hvi.setPassword(this.getPassword());//传递密码this.getUserId()应该没取到值吧。修改完跳转到初始页面的时候没有把userId作为参数传过去吧
解决方案九:
取到了HtzViewDAOhvd=newHtzViewDAO();//用来访问数据库操作的类HtzViewIdhvi=newHtzViewId();//用来给查询条件传参数hvi.setUserId(this.getUserId());//传递帐号System.out.println("1:"+this.getUserId());/***********************************/hvi.setPassword(this.getPassword());//传递密码this.setList(hvd.findById(this.getUserId()));//进行查询,然后讲返回的结果存放在list中if(list.size()==0||list.isEmpty()){//判断返回的结果是否空,空代表输入的帐号不存在return"error";}ServletActionContext.getRequest().getSession().setAttribute("list",this.getList());//ActionContextactionContext=ActionContext.getContext();//actionContext.put("list_information",list);HtzViewhv=list.get(0);System.out.println("2:"+this.getUserId());/***********************************/this.setDepartment(hv.id.getDepartment());this.setName(hv.id.getName());if(hv.id.getUserId().trim().equals(this.getUserId())&&hv.id.getPassword().trim().equals(this.getPassword())){System.out.println("3:"+this.getUserId());/***********************************/return"success";}else{return"error";}三个带有星号的行,控制台输出正常1:H00012:H00013:H0001
解决方案十:
返回时把应该传的参数传一下
解决方案十一:
你跳转回来的时候没回查数据造成的你修改密码之后再查一遍列表数据就好
解决方案十二:
引用10楼a276202031的回复:
你跳转回来的时候没回查数据造成的你修改密码之后再查一遍列表数据就好
看看是不是这个原因。
解决方案十三:
哈哈,不对。因为修改密码不好使。。。
解决方案十四:
不要什么数据都放session里面
解决方案十五:
按照我的思路和session是没有关系的修改密码肯定是要调用service层的方法然后调用dao层的方法然后去调用sql语句当你修改完成之后应该可以直接跳转到这个根据用户名和密码查询自己信息的页面的。
解决方案:
没传回来,你返回时再查找一次吧。一般不会这样放session里这么多table数据的。
解决方案:
代码有问题,仔细检查