MyBatis實現使用者的動態搜尋分頁等功能(7)
阿新 • • 發佈:2018-12-12
實現使用者的動態修改功能
思路分析
- 點選修改,獲取要修改的使用者id
- 我們需要新建一個 update.jsp先顯示要修改的使用者資訊,讓後讓使用者選擇性修改
- 兩個頁面跳轉我們需要servlet處理,所以要新建一個UpdateUserShow.java
實現update.jsp顯示要修改的使用者資訊
這裡就需要使用到C標籤,C標籤的靈活運用可以讓jsp頁面更加簡潔明瞭
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ 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> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <c:if test="${user != null}"> <form method="post" action="<%=request.getContextPath()%>/UpdateUser?id=${user.id}"> <table width="600" height="386" border="1" align="center" cellpadding="1" cellspacing="1"> <tr> <td colspan="3" align="center"><span class="STYLE1">會員修改</span></td> </tr> <tr> <td width="132" align="right">使用者名稱:</td> <td width="312"><label> <input name="uname" type="text" id="uname" value="${user.uname}"/> </label></td> <td width="146"> </td> </tr> <tr> <td align="right">密碼:</td> <td><label> <input name="upwd" type="password" id="upwd" value="${user.upass}"/> </label></td> <td> </td> </tr> <tr> <td align="right">性別:</td> <td><label> <c:set var="sex" value="" ></c:set> <c:if test="${user.usex=='男' }"> <c:set var="sex" value="checked=checked"></c:set> </c:if> <input name="usex" type="radio" value="男" ${sex}/> 男 <c:set var="sex" value=""></c:set> <c:if test="${user.usex=='女'}"> <c:set var="sex" value="checked=checked"></c:set> </c:if> <input type="radio" name="usex" value="女" ${sex}/> 女</label></td> <td> </td> </tr> <tr> <td align="right">角色:</td> <c:set var="s1" value=""></c:set> <c:set var="s2" value=""></c:set> <c:set var="s3" value=""></c:set> <c:choose> <c:when test="${user.urole==1}"> <c:set var="s1" value="selected"></c:set> </c:when> <c:when test="${user.urole==2}"> <c:set var="s2" value="selected"></c:set> </c:when> <c:otherwise> <c:set var="s3" value="selected"></c:set> </c:otherwise> </c:choose> <td><label> <select name="urole" id="urole"> <option value="0">全部</option> <option value="1" ${s1}>會員</option> <option value="2" ${s2}>高階會員</option> <option value="3" ${s3}>鑽石會員</option> </select> </label></td> <td> </td> </tr> <tr> <td colspan="3" align="center"><label> <input type="submit" name="Submit" value="提交" /> <input type="reset" name="Submit2" value="重置" /> </label></td> </tr> </table> </form> </c:if> </body> </html>
實現Servlet轉接功能
點選修改呼叫的servlrt層中的<a href='UpdateUserShow?uid="+user.getId() 通過使用者id我們就可以獲取全部資訊 UpdateUserShow.java
package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import entity.User; import service.IAddressService; import service.impl.AddressServiceImpl; @SuppressWarnings("serial") @WebServlet(name="UpdateUserShow",urlPatterns="/UpdateUserShow") public class UpdateUserShow extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setCharacterEncoding("utf-8"); int id = Integer.parseInt(req.getParameter("uid")); System.out.println(id); IAddressService iaddser = new AddressServiceImpl(); User user = iaddser.findUserById(id); req.setAttribute("user", user); req.getRequestDispatcher("update.jsp").forward(req, resp); } }
頁面跳轉需要用到轉發用來傳遞資料