
沿着昨天整理好的页面,今天实现list页面中的修改,
User update框架
需要的效果图:
先看用户查询界面,
修改id为4的那个用户:
修改后返回用户查看界面。
1 .先是从list界面开始,在昨天的代码基础上,实现修改功能:
2.携带被修改用户的Id属性,跳转到UserModifyServlet:
package com.jaovo.jcms.user; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.jaovo.jcms.service.UserService; public class UserModifyServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//获得客户端传过来的数据
String id = request.getParameter("id");
System.out.println(id); UserService userService = new UserService();
User user = userService.getUserById(Integer.parseInt(id)); request.setAttribute("user", user); this.getServletContext().getRequestDispatcher("/admin/user_update.jsp").forward(request, response); } }
3.用UserModifyServlet携带的Id,获取该用户的属性,并跳转到update界面,依然是在Eclips工具中写一个user_update.jsp:
<%@page import="com.jaovo.jcms.util.PageList"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="com.jaovo.jcms.user.*"%>
<%@ page import="java.util.*"%>
<%@ page import="com.jaovo.jcms.util.*"%> <%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%> <html>
<head>
<base href="<%=basePath%>" />
<title>用户修改</title>
<link rel="stylesheet" type="text/css" title="xp"
href="css/skins/xp/validator/component.css" />
<link rel="stylesheet" type="text/css" title="xp"
href="css/skins/xp/navbar/nav.css" />
<link rel="stylesheet" type="text/css" title="xp"
href="css/skins/xp/table/skin.css" />
<link rel="stylesheet" type="text/css" title="xp"
href="css/skins/xp/time/skin.css" />
<script type="text/javascript" src="jscript/time/calendar.js"></script>
<script type="text/javascript" src="jscript/time/calendar-zh.js"></script>
<script type="text/javascript" src="jscript/time/calendar-setup.js"></script>
<script type="text/javascript" src="jscript/common.js"></script>
<script type="text/javascript"
src="jscript/validator/form_validator.js" /></script> <script type="text/javascript">
var validatedInfo = "correct";
var requireErrorInfo = "required<br/>";
var msgInfo = new Array(); msgInfo[] = new Array('name required','name error');
var name = new formEle(true,"no",null,"name_info",msgInfo[]); msgInfo[] = new Array('pwd required','pwd error');
var password = new formEle(true,"no",null,"password_info",msgInfo[]); msgInfo[] = new Array('description required','description error');
var description = new formEle(true,"no",null,"description_info",msgInfo[]); msgInfo[] = new Array('role required','role error');
var role = new formEle(true,"no",null,"role_info",msgInfo[]); msgInfo[] = new Array('valid required','please input number like 1 ,2 ,3');
var valid = new formEle(true,"num",null,"valid_info",msgInfo[]); msgInfo[] = new Array('email required','email error');
var email = new formEle(true,"no",null,"email_info",msgInfo[]); function submitForm(obj) { var ret = validateAll(obj);
if (ret == true) {
if (document.forms[].submit) {
document.forms[].submit.disabled = true;
}
}
return ret;
}
</script>
<style type="text/css">
body,table,td,select,textarea,input {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
</style>
</head>
<%
User user = (User)request.getAttribute("user");
%>
<body>
<div id="main"> <form name="backuserform" method="post"
action="admin/UserModifiedServlet"
onSubmit=''>
<table class="standard">
<thead>
<tr>
<th align="center" colspan="">
用户修改
</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">
用户名
</td>
<td align="left">
<input name="name" type="text" TABINDEX="" id="name" value="<%=user.getName() %>"/>
<input name="id" type="hidden" TABINDEX="" value="<%=user.getId() %>" />
<div class="Info">
<div id="name_info"></div>
</div>
</td>
</tr>
<tr>
<td align="left">
用户密码
</td>
<td align="left">
<input name="password" type="password" value="" TABINDEX=""
id="password" value="<%=user.getPassword()%>"/>
<div class="Info">
<div id="password_info"></div>
</div>
</td>
</tr> <tr>
<td align="left">
角色
</td>
<td align="left">
<select name="role" TABINDEX="" id="role">
<option value="">
超级管理员
</option>
</select> <div class="Info">
<div id="role_info"></div>
</div>
</td>
</tr> <tr>
<td align="left">
是否有效
</td>
<td align="left">
<select name="valid" TABINDEX="" id="valid">
<option value="">有</option>
<option value="">无</option>
</select>
<div class="Info">
<div id="valid_info"></div>
</div>
</td>
</tr>
<tr>
<td align="left">
</td>
<td align="left">
<input name="email" type="text" value="<%=user.getEmail() %> " TABINDEX="" id="email" />
<div class="Info">
<div id="email_info"></div>
</div>
</td>
</tr> <tr>
<td align="left">Phone</td>
<td align="left"><input name="phone" type="text" value="<%=user.getPhone() %>"
TABINDEX="" id="phone" />
<div class="Info">
<div id="phone_info"></div>
</div></td>
</tr> <tr>
<td colspan="" align="center">
<input class="submitButton" type="submit" TABINDEX=""
name="submit" value="修 改">
<input type="button" name="返回" class="submitButton" value="返回"
onclick="history.back();">
</td>
</tr> </tbody>
<tfoot>
<tr>
<td colspan="" style="text-align: left"></td> </tr>
</tfoot>
</table>
</form>
</div>
</body>
</html>
4.需要一个ModifiedServlet.java
package com.jaovo.jcms.user; import java.io.IOException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.jaovo.jcms.service.UserService; public class UserModifiedServlet extends HttpServlet{
private static final long serialVersionUID = 1L;//这里以前没有
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8"); String id = request.getParameter("id");
String name = request.getParameter("name");
String password = request.getParameter("password");
String valid = request.getParameter("valid");
String email = request.getParameter("email");
String phone = request.getParameter("phone"); User user = new User(); user.setId(Integer.parseInt(id));
user.setName(name);
user.setPassword(password);
user.setValid(Integer.parseInt(valid));
user.setEmail(email);
user.setPhone(phone); UserService userService = new UserService();
userService.updateUser(user); this.getServletContext().getRequestDispatcher("/admin/UserListServlet").forward(request, response);
//从一个Servlet到另外一个Servlet是同一个request对象
}
}
5.跳转到UserListServlet,同时携带ModifiedServlet的request和response对象,最后在list界面中显示出修改后的用户信息。
以上就是这次优化的所有代码,后面还会持续优化,望大家斧正。
2015-10-09 09:06:38
- 生命不息,代码不止!