1. 程式人生 > >MyBatis實現使用者的動態搜尋分頁等功能(7)

MyBatis實現使用者的動態搜尋分頁等功能(7)

實現使用者的動態修改功能

思路分析

  1. 點選修改,獲取要修改的使用者id
  2. 我們需要新建一個 update.jsp先顯示要修改的使用者資訊,讓後讓使用者選擇性修改
  3. 兩個頁面跳轉我們需要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">&nbsp;</td>
    </tr>
    <tr>
      <td align="right">密碼:</td>
      <td><label>
        <input name="upwd" type="password" id="upwd" value="${user.upass}"/>
      </label></td>
      <td>&nbsp;</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>&nbsp;</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>&nbsp;</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);
	}
}

頁面跳轉需要用到轉發用來傳遞資料