2018.5.7
僅爲個人理解 不足之處歡迎指正~
本文進行對個人信息的修改
第一步:編寫Dao層
在UserDao.java中增加一個方法
以及它的實現:
這裏通過用戶名修改用戶 僅允許修改電話與郵箱信息
第二步:編寫Service層
在UserService.java中增加一個方法:
在UserServiceImpl中實現:
第三步:編寫View層界面
界面在Welcome.jsp即登錄成功頁面上增加一個超鏈接爲:編輯信息
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>歡迎</title>
</head>
<body>
${message} <br>
用戶名:${user.username}<br>
電話:${user.phone}<br>郵箱:${user.email}<br>
<a href="editUser?username=${user.username}">編輯信息</a>
</body>
</html>
這個超鏈接
傳入了一個editUser指令 並傳入了登錄成功的那個用戶的用戶名
編寫editUser頁面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<body>
<form method="post" action="updateUser">
電話:<input name="phone" value="${user.phone}" type="text"><br>
郵箱:<input name="email" value="${user.email}" type="text"><br>
<input name="username" value="${user.username}" type="hidden"><br>
<input type="submit" value="修改信息">
</form>
</body>
</head>
</html>
該頁面傳入了一個updateUser指令
當點擊“修改信息”按鈕後 執行這個傳入
並傳入了用戶輸入的新電話與新郵箱信息 然後通過一個隱藏起來的input傳入了用戶名信息
第四步:編寫Controller層
上一步驟中我們傳入了兩個指令 一個爲editUser 一個爲updateUser
首先進行editUser指令的攔截:
這裏攔截了隨editUser指令一併傳入的username信息
並通過這個username 查詢到一個完整的user
然後跳轉到editUser.jsp頁面(這裏的跳轉是因爲在spring配置了後綴爲.jsp)
然後進行updateUser指令的攔截:
通過點擊“修改信息”按鈕後
接受到一個封裝的User類 然後通過這個類執行update的service
然後跳轉回welcome.jsp
並且返回新的用戶信息
執行結果:
(1):
(2):
(3):
(4):
查看數據庫:
完成修改
謝謝~