刚学习struts,写了个简单的登录界面,现在登录后我想要实现修改密码的功能,在修改密码的控制器中要验证原密码,而且最后还要保存进数据库,我就想问在修改密码的控制器中怎么得到处理登录信息的表单的数据?

解决方案 »

  1.   

    一样呗,我一般是在ActionForm里面除了一个User类对象,还要加一个String类型password属性,然后一个<input type="password" name="user.password">,另外一个<input type="password" name="password">,然后先比较user.password和数据库里面的取出来的相不相等,不等就给个提示密码不正确,要是正确,就把password保存到数据库就行了,当然,中间省略了加密解密的过程。
      

  2.   

    你应该用的是struts+JavaBeans+servlet把,这样写一个JavaBeans,在servlet中得到表单中的值,在写一个数据库查询的处理方法,返回密码或者表单的值(可以返回一个JavaBeans对象),进行判断后再调用一个更新的方法
      

  3.   

    用户登录后,一般会将该登录的用户信息存到Session里,要用的时候到里面取就好了。
      

  4.   

    <s:password showPassword="true" name="user.password" label="密码" />
    使用struts自带标签只要加入这个属性就可以了,我们正在学习struts+hibernate+spring,我是这样写的都能显示,不过密码显示的是*号
      

  5.   

    登陆的时候将用户信息存入session内,以后用的时候根据属性去取便可
      

  6.   

    struts1提交数据是将数据封装在ActionForm中,每个ActionForm里对应一张实体表,在action通过以下方法就可以获取你提交的数据。
    public ActionForward BmSelect(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception { ActionForward af = null; BmglForm bmForm = (BmglForm) form;
    }
      

  7.   

    登录时将用户信息放进session中,修改时从session中取出和页面传过来的原密码比较,
    一样时才允许修改数据库
      

  8.   

    1. 你的密码修改必须建立在已经登录的基础上:这个条件 当你在修改密码的表单输入时用Ajax 去后台通过  用户名(一般都是唯一的)或者是用户的信息ID 把密码找到并返回传到当前修改表单的一个隐藏域里面,然后输入老密码 进行对比 对比正确 填写新密码 提交表单插入数据
    2 不需要建立在登录基础上的密码修改 :直接输入用户名 老密码 这个时候Ajax 提交这两项进行数据库查询(相当于登录时的数据库查询了)找到这条数据 验证通过 填写新密码 提交表单
      

  9.   

    现在不怎么用ActionForm了,并不是很好用。楼主直接学习Struts2吧
      

  10.   

    struts2 struts1是完全不一样的~呢说清
      

  11.   


    session.setAttribute()
    session.getAttribute()
    你还是先好好看下书吧 基本的session操作
      

  12.   

    登陆成功后吧用户信息放到session中:request.getSession.setattribute("loginuser",user);
    要用的时候取值:request.getSession.getattribute("loginuser");
      

  13.   

    谢谢各位了,大概懂了,一直看的是孙卫琴的精通struts,都是讲的基本的东西,但是很多东西都没将清楚