/**
-
角色 控制层
-
@author 波波烤鸭
-
dengpbs@163.com
*/
@Controller
@RequestMapping(“/user”)
public class UserController {
@Resource
private IUserService userService;
@RequestMapping(“/query”)
public String query(User user,Model model){
List list = userService.query(user);
model.addAttribute(“list”, list);
return “user/user”;
}
}
1.3 用户管理界面
修改left.jsp中的代码
因为jsp文件下文件越来越多,所以分下目录
RoleController跳转页调整下
1.4 展示数据
准备一条测试数据
因为logistics-manager-service的代码修改了所以需要install下,别忘了,如果提示报错就在来一次,如果还报错请检查。
启动访问
访问成功!
2.1控制层添加跳转的方法
更新和修改我们放在一个jsp页面进行,添加和修改都需要分配角色。
service层
/**
-
获取添加或者修改用户需要的数据
-
添加
-
获取所有的角色信息
-
修改
-
获取所有的角色信息及根据id查询的用户信息
-
@param id
-
@return
*/
public void getUpdateUserInfo(Integer id,Model model);
@Resource
private RoleMapper roleMapper;
@Override
public void getUpdateUserInfo(Integer id,Model model) {
RoleExample roleExample = new RoleExample();
List roles = roleMapper.selectByExample(roleExample );
model.addAttribute(“roles”, roles);
}
控制层
/**
-
进入添加或者修改页面
-
@param id
-
@return
*/
@RequestMapping(“/userUpdate”)
public String userUpdatePage(Integer id,Model model){
// 查询添加或者更新需要的数据
userService.getUpdateUserInfo(id,model);
return “/user/userUpdate”;
}
2.2点击添加完成跳转
userUpdate.jsp使用form.html的代码
访问后样式失效:
2.3修改添加页面
效果
代码
<%@ page language=“java” contentType=“text/html; charset=UTF-8”
pageEncoding=“UTF-8”%>
<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
位置:
- 首页
- 用户管理
基本信息
<input name=“userName” type=“text”
class=“dfinput” />
账号不能超过30个字符
<input name=“realName” type=“text”
class=“dfinput” />
<input name=“password” type=“password”
class=“dfinput” />
<input name=“confirmPassword”
type=“password” class=“dfinput” />
<input name=“phone” type=“text”
class=“dfinput” />
<input name=“email” type=“text”
class=“dfinput” />
<c:forEach items=“${roles }” var=“role”>
${role.roleName }
</c:forEach>
<input name=“” type=“submit”
class=“btn” value=“确认保存” />
验证此处没有加,可自行加上~
2.4提交数据
因为表单提交的数据有分配的角色信息,单独一个User对象并不能接收所有的数据。所以我们需要创建一个Dto对象,来保存数据。
数据传输对象,即Data Transfer Object,简称DTO。
一个为了减少方法调用次数而在进程间传输数据的对象
表单域name值设置,及提交地址:
<input name=“user.userName” type=“text”
class=“dfinput” />
账号不能超过30个字符
<input name=“user.realName” type=“text”
class=“dfinput” />
<input name=“user.password” type=“password”
class=“dfinput” />
<input name=“confirmPassword”
type=“password” class=“dfinput” />
<input name=“user.phone” type=“text”
class=“dfinput” />
<input name=“user.email” type=“text”
class=“dfinput” />
<c:forEach items=“${roles }” var=“role”>
${role.roleName }
</c:forEach>
<input name=“” type=“submit”
class=“btn” value=“确认保存” />
控制层接收数据:
/**
-
进入添加或者修改页面
-
@param id
-
@return
-
@throws Exception
*/
@RequestMapping(“/saveOrUpdate”)
public String saveOrUpdate(UserDto userDto) throws Exception{
userService.saveOrUpdate(userDto);
return “redirect:/user/query”;
}
service接口
/**
-
保存或修改用户数据
-
@param userDto
*/
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
最新整理电子书
id
-
@return
-
@throws Exception
*/
@RequestMapping(“/saveOrUpdate”)
public String saveOrUpdate(UserDto userDto) throws Exception{
userService.saveOrUpdate(userDto);
return “redirect:/user/query”;
}
service接口
/**
-
保存或修改用户数据
-
@param userDto
*/
最后
针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。
下面的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题(都整理成文档,小部分截图)
[外链图片转存中…(img-Ae5AvkRz-1714677119977)]
最新整理电子书
[外链图片转存中…(img-lhja0Y9o-1714677119978)]
-