这里写一下如何通过REST格式来处理单个用户信息。
1. 查询个人信息
1.1 在Controller里面加入:
//{username}就是path variable-路径参数
@RequestMapping(value="/{username}",method=RequestMethod.GET)
public String show(@PathVariable String username,Model model){ //@PathVariable就是指使用路径的值作为参数,这里也就是{username}
model.addAttribute(users.get(username));
return "user/show";
}
1.2 在WEB-INF/jsp/user目录创建jsp文件show.jsp
<body>
Username:${user.username}<br/>
Password:${user.password}<br/>
Nickname:${user.nickname}<br/>
Email:${user.email}<br/>
</body>
1.3 修改list.jsp文件,加入链接信息
---<a href="user/${um.value.username}">${um.value.nickname}</a>
2.更新个人信息
2.1 在Controller中加入:
@RequestMapping(value="/{username}/update",method=RequestMethod.GET)
public String update(@PathVariable String username,Model model){
model.addAttribute(users.get(username));
return "user/update";
}
@RequestMapping(value="/{username}/update",method=RequestMethod.POST)
public String update(@Validated User user,@PathVariable String username, BindingResult result){
//这里如果是数据库,则根据username获取对象,然后更新数据库。
users.put(username, user);
return "redirect:/user/users";
}
2.2 添加update.jsp,路径参考上面。
<body>
<sf:form method="post" modelAttribute="user">
用户名称:<sf:input path="username"/><sf:errors path="username"/><br/>
用户密码: <sf:input path="password"/><sf:errors path="password"/><br/>
用户昵称: <sf:input path="nickname"/> <br/>
用户邮箱: <sf:input path="email"/><sf:errors path="email"/><br/>
<input type="submit" value="修改用户"/>
</sf:form>
</body>
2.3 在list.jsp中添加修改用户链接
---<a href="user/${um.value.username}/update">修改</a>
3. 删除用户
3.1 在Controller中加入:
@RequestMapping(value="/{username}/delete",method=RequestMethod.GET)
public String delete(@PathVariable String username){
users.remove(username);
return "redirect:/user/users";
}
3.2 在list.jsp中加入删除链接.
---<a href="user/${um.value.username}/delete">删除</a>
至此增删改查完成。