1>攜帶參數跳轉:
<a href="user/loadupdate.do?userId=${user.userId }">修改</a>
2>UserInfoController:添加更新用戶方法
/**
* 加載修改頁面
* @param user
* @param model
* @return
*/
@RequestMapping("user/loadupdate.do")
public String loadupdate(UserInfo user,Model model){
//根據id查詢用戶信息,並返回給前端頁面
model.addAttribute("user",userservice.getUserInfo(user));
return "user/userinfo_update";
}
3>userinfo_update.jsp(複製add頁面進行修改即可)
這裏手機號碼繼續readonly,因爲手機作爲賬號一經添加,就不可修改
就不需要異步校驗
4>隱藏文本框存放userId
<input type="hidden" name="userId" value="${user.userId}">
5>把後臺的值引入頁面:
value="${user.userName }"
選擇框值引入:
<select class="form-control" name="userType">
<option ${user.userType == '普通用戶'?'selected':'' } value="普通用戶">普通用戶</option>
<option ${user.userType == '管理員'?'selected':'' } value="管理員">管理員</option>
</select>
注意:這裏所有表單框添加上value屬性6>UserInfoDAO.java,UserInfoDAO.xml,service層,impl層添加相應的update方法
<pre name="code" class="java"> /**
* 修改用戶信息
* @param user
* @return 返回int影響行數
*/
public int update(UserInfo user);
<update id="update" parameterType="UserInfo">
update user_info
<set>
<if test="userName != null">
user_name=#{userName},
</if>
<if test="userSex != null">
user_sex=#{userSex},
</if>
<if test="userPhone != null">
user_phone=#{userPhone},
</if>
<if test="userPw != null">
user_pw=#{userPw},
</if>
<if test="userType != null">
user_type=#{userType}
</if>
where user_id=#{userId}
</set>
</update>
public void update(UserInfo user) {
userdao.update(user);
}
7>UserInfoController 添加修改用戶信息方法(複製add方法修改即可)
/**
* 修改用戶
* @param user
* @param model
* @return
*/
@RequestMapping("user/update.do")
public String update(UserInfo user,Model model){
//提示信息
String info = "操作失敗";
try {
userservice.update(user);
info="操作成功!";
} catch (Exception e) {
e.printStackTrace();
}
//把提示信息傳入到提示界面
model.addAttribute("info",info);
return "userinfo/userinfo_info";
}