29、示例2-增刪改
阿新 • • 發佈:2018-12-03
學習過程:
一、新增使用者
我們繼續上一節課的示例,把增刪改查都完成了。
1、新建一個新新增使用者頁面adduser.jsp,程式碼如下:
<body> <form action="admin/userServlet?op=add" method="post"> 使用者名稱:<input name="username" /> <br /> 密碼:<input name="pass" type="password" /> <br /> 性別:<input type="radio" value="1" name="sex" checked="checked" />男 <input type="radio" value="0" name="sex"/>女 <br /> <input type="submit" value="註冊" /> </form> </body>
2、對應的servlet實現
else if (op.equals("add")) { // 獲得view的資料 String username = request.getParameter("username"); System.out.println(username); String pass = request.getParameter("pass"); String sex = request.getParameter("sex"); System.out.println(sex); User user = new User(); user.setUsername(username); user.setPass(pass); user.setSex(Integer.parseInt(sex)); int result = userDao.addUser(user); if (result > 0) { response.sendRedirect("userServlet?op=list"); } else { response.sendRedirect("error.jsp"); } }
二、刪除使用者
1、修改頁面的超連結,因為刪除需要傳遞使用者id,所以這裡需要修改超連結的,程式碼在前面事實上已經有了,核心程式碼如下:
<td><a href="admin/userServlet?op=delete&uid=${user.userId} " onclick="return confirm('你真的要刪除嗎?')">刪除</a> | <a href="admin/userServlet?op=toupdate&uid=${user.userId}">修改</a></td>
2、對應的servlet的實現
else if (op.equals("delete")) {
String uid = request.getParameter("uid");
int result = userDao.delUser(Integer.parseInt(uid));
if (result > 0) {
response.sendRedirect("userServlet?op=list");
} else {
response.sendRedirect("error.jsp");
}
}
三、修改使用者
1、修改頁面比較複雜需要先進入修改頁面,修改超連結,進入修改頁面:
2、對應的servlet
else if (op.equals("toupdate")) {
String uid = request.getParameter("uid");
User user = userDao.getUserById(Integer.parseInt(uid));
request.setAttribute("user", user);
request.getRequestDispatcher("updateuser.jsp").forward(request,
response);
}
3、修改頁面updateuser.jsp程式碼實現:
<form action="admin/userServlet?op=update" method="post">
<input type="hidden" name="uid" value="${user.userId }" />
使用者名稱:<input name="username" value="${user.username }" />
<br />
密碼:<input name="pass"
type="password" value="${user.pass }" />
<br />
性別:<input type="radio" value="1" name="sex" <c:if test="${user.sex==1 }">checked="checked"</c:if> />男 <input type="radio" value="0" name="sex" <c:if test="${user.sex==0 }">checked="checked"</c:if>/>女
<br /> <input type="submit" value="修改" />
</form>
4、執行更新的對應程式碼如下:
else if (op.equals("update")) {
String uid = request.getParameter("uid");
String username = request.getParameter("username");
String pass = request.getParameter("pass");
String sex = request.getParameter("sex");
User user = new User();
user.setUserId(Integer.parseInt(uid));
user.setUsername(username);
user.setPass(pass);
user.setSex(Integer.parseInt(sex));
int result = userDao.updateUser(user);
if (result > 0) {
response.sendRedirect("userServlet?op=list");
} else {
response.sendRedirect("error.jsp");
}
}