管理员修改用户信息(2课时流程讲解+学员上来演示,1课时全体学生练习)
step1 根据id查询用户信息 返回一个user
userlist.jsp页面:
<a href="<%=request.getContextPath()%>/getUserServlet?id=${user.id }">修改</a>
GetUserServlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
//获取页面传过来的id
String id=request.getParameter("id");
IUserService service=new UserServiceImpl();
User user=service.getUserById(id);
request.setAttribute("user", user);
request.getRequestDispatcher("/admin/updateuser.jsp").forward(request, response);;
}
/admin/updateuser.jsp
<form action="<%=request.getContextPath()%>/adminUpdServlet">
<input type="hidden" name="id" value="${user.id }"/>
用户名:<input type="text" name="userName" value="${user.userName }" readonly/><br>
email:<input type="email" name="email" value="${user.email }"/><br>
idCard:<input type="text" name="idCard" value="${user.idCard }"/><br>
用户权限:<select name="power">
<option value="0" <c:if test="${user.power==0 }">selected="selected"</c:if>>普通用户</option>
<option value="1" <c:if test="${user.power==1 }">selected="selected"</c:if>>管理员</option>
</select>
<input type="submit" value="修改"/>
<input type="reset"/>
</form>
step2 提交修改后的表单,进行update
adminUpdServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取前台页面传过来的参数
String id=request.getParameter("id");
String name=request.getParameter("userName");
String email=request.getParameter("email");
String idCard=request.getParameter("idCard");
String power=request.getParameter("power");
//封装user对象
User user=new User();
user.setId(Integer.parseInt(id));
user.setUserName(name);
user.setEmail(email);
user.setIdCard(idCard);
user.setPower(Integer.parseInt(power));
//调用service进行修改操作
IUserService service=new UserServiceImpl();
int i=service.update(user);
response.sendRedirect(request.getContextPath()+"/findAllUserServlet");
}
作业:管理员添加用户信息