登陸以後把Username弄成超連接:
sql
<td><a th:href="@{update?(userId=${userInfo.userId},userName=${userInfo.userName})}">改不改?<span th:text="${userInfo.userName}">25</span></a></td>app
要注意<tr>是一行的意思,<td>是裏面每列的內容的意思。spa
注意遍歷的時候不要遍歷用戶Id和用戶名。不然用戶名和用戶id會在每個上都有,就寫在tr裏面哪兒輸出哪兒遍歷。以下:orm
<tr th:each="userInfo,status:${List}"> get
<td><a th:href="@{delete?(userId=${userInfo.userId})}">刪不刪?<span th:text="${userInfo.userId}">250</span></a></td> input
<td><a th:href="@{update?(userId=${userInfo.userId},userName=${userInfo.userName})}">改不改?<span th:text="${userInfo.userName}">25</span></a></td>it
</tr>io
而後點如下超連接以後跳出更新頁面,頁面內容以下:form
<form action="updateConfirm" th:object="${userBean}" method="POST">class
<input name="userId" type="hidden" th:value="${userBean.userId}"/>
<input name="userName" type="text" th:value="${userBean.userName}"/>
新密碼: <span><input name="userPass" type="password" /></span>
新密碼確認: <span><input name="userPass2" type="password" /></span>
<button type="submit" name="update" >確認更改</button>
<button type="submit" name="cancel" >取消更改</button>
<span th:text="${message}"></span>
</form>
跳出此頁面後會顯示獲取到的用戶名,還有兩個框,一個是新密碼一個是新密碼確認。
對用戶名和密碼可進行修改,要修改三個地方,一是在sql語句中的Update語句
<update id="updateuser"
parameterClass="cn.training.bean.UserBean">
update user set userName=#userName#,userPass=#userPass#
WHERE
user_id = #userId#
</update>
其次是contoller裏面須要寫三個控制器:
一是用來跳轉到修改頁面的控制器
@RequestMapping(value = "/update", method = RequestMethod.GET)
public String update(UserBean userBean,Model model) {
return "updateConfirm";
}
二個是用來肯定修改內容的控制器:,並進行修改,肯定改正是否成功。
@RequestMapping(value = "/updateConfirm", method = RequestMethod.POST,params="update")
public String updateOK(UserBean userupdate, Model model) {
String pass1=userupdate.getUserPass();
String pass2=userupdate.getUserPass2();
if(pass1.equals(pass2)){
int update = helloWorldService.updateUser(userupdate);
model.addAttribute("userBean",userupdate);
if(update==1){
List<UserBean> result1 = helloWorldService.searchUserall(userupdate);
model.addAttribute("List", result1);
model.addAttribute("message","更改爲功!");
}
else{
model.addAttribute("message","更改失敗!");
return "updateConfirm";
}
}
else{
model.addAttribute("message","更改失敗!");
return "updateConfirm";
}
return "search";
}
如下是用來取消刪除的控制器:
@RequestMapping(value = "/updateConfirm", method = RequestMethod.POST,params="cancel")
public String updateNo(UserBean userBean, Model model) {
List<UserBean> result1 = helloWorldService.searchUserall(userBean);
model.addAttribute("List", result1);
return "search";
}
最後在service裏面寫上捕捉拋出錯誤的代碼:
public int updateUser(UserBean frm) {
int result=0;
try {
result=updateDao.execute("user.updateuser", frm);
}catch(Exception e){
return result;
}
return result;
}
就能完成修改用戶名和密碼的過程。