1. 程式人生 > >29、示例2-增刪改

29、示例2-增刪改

學習過程:

一、新增使用者

我們繼續上一節課的示例,把增刪改查都完成了。

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");
			}
		}