天天看點

使用@SessionAttributes修改使用者資訊時遇到的問題

修改使用者資訊時,傳遞兩個參數,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();
    }
}
           

繼續閱讀