springmvc的rest风格之四实现用户修改删除(基于资源导向)

Action控制器UserController.java中添加方法:

/**
 * 修改用户前
 * 
 * @param username
 * @param model
 * @return
 */
@RequestMapping(value = "/{username}/updateUserPro", method = RequestMethod.GET)
public String updateUserPro(@PathVariable String username, Model model) {
	model.addAttribute(users.get(username));
	return "user/updateUser";
}

/**
 * 修改用户
 * 
 * @param username
 * @param user
 * @return
 */
@RequestMapping(value = "/{username}/updateUser", method = RequestMethod.POST)
public String updateUser(@PathVariable String username, @Valid User user, BindingResult br) {
	if (br.hasErrors()) {
		return "user/updateUser";
	}
	users.put(username, user);
	return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/user/userList";
}

/**
 * 删除用户
 * 
 * @param username
 * @return
 */
@RequestMapping(value = "/{username}/deleteUser", method = RequestMethod.GET)
public String deleteUser(@PathVariable String username) {
	users.remove(username);
	return InternalResourceViewResolver.REDIRECT_URL_PREFIX + "/user/userList";
}

/**
 * 展示用户详细信息
 * 
 * @param username
 * @param model
 * @return
 */
@RequestMapping(value = "/{username}", method = RequestMethod.GET)
public String showUser(@PathVariable String username, Model model) {
	model.addAttribute(users.get(username));
	return "user/showUser";
}

 

这里,每个用户的信息包含在请求的url(也就是所谓的rest风格)

修改用户列表页面/jsp/user/userList.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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=GBK">
<title>用户列表</title>
</head>
<body>
	登录用户名:${loginUser.username }<br>
	<a href="addUserPro">添加用户</a>
	<table border="1">
		<tr>
			<th>用户名</th>
			<th>别名</th>
			<th>密码</th>
			<th>邮箱</th>
			<th>操作</th>
		</tr>
		<c:forEach items="${users}" var="user">
			<tr>
				<td><a href="${user.key }">${user.value.username }</a></td>
				<td>${user.value.nickname }</td>
				<td>${user.value.password }</td>
				<td>${user.value.email }</td>
				<td><a href="${user.key }/updateUserPro">更新</a>&nbsp;<a href="${user.key }/deleteUser">删除</a></td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

 

添加用户新增页面/jsp/user/updateUser.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%>
<!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=GBK">
<title>修改用户</title>
</head>
<body>
	<sf:form method="post" modelAttribute="user" action="updateUser">
		用户名*:<sf:input path="username"/><sf:errors path="username" cssStyle="color:red"/><br>
		别名:<sf:input path="nickname"/><br>
		密码*:<sf:password path="password"/><sf:errors path="password" cssStyle="color:red"/><br>
		邮箱*:<sf:input path="email"/><sf:errors path="email" cssStyle="color:red"/><br>
		<input type="submit" value="修改"/>
	</sf:form>
</body>
</html>

 

添加展示用户信息页面/jsp/user/showUser.jsp

<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<!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=GBK">
<title>展示用户信息</title>
</head>
<body>
	<form>
		用户名:${user.username },别名:${user.nickname },密码:${user.password },邮箱:${user.email }
	</form>
</body>
</html>

 

在浏览器中输入:

http://127.0.0.1:9900/springmvc_005_rest_04/user/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值