修改用户信息时,传递两个参数,user1和user2,
user1为修改前的用户信息 :@ModelAttribute(“userLogin”) Users user1
user2是修改后的用户信息:Users user2
User 类的属性有uname
当表单传递的数据名有uname 时,后台接收时,user1和user2的uname都会被写入表单传递过来的uname
解决办法,更改表单的uname
@SessionAttributes(“userLogin”)
前端表单传递的数据为
<dt>用 户 名:</dt>
<input class="input-text" type="text" name="uname1" value="${userLogin.uname}"/>
后台接收为
//用户修改信息
@RequestMapping("useralter")
public void userAlter(String uname1,@ModelAttribute("userLogin") Users user1,HttpServletResponse response){
System.out.println("需要修改的用户"+user1);
System.out.println("修改后的用户名"+uname1);
user1.setUname(uname1);
int k=0;
k=userService.userAlter(user1);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = null;
try {
out = response.getWriter();
if(k>0){
out.write("<script>alert('修改成功');location.href='/register_success.jsp'</script>");
}else{
out.write("<script>alert('修改失败');location.href='/alter.jsp'</script>");
}
} catch (IOException e) {
e.printStackTrace();
}
}