实现用户管理中的添加、删除、修改功能
添加功能的实现
@RequestMapping(value="/insertUser")
public ModelAndView addUser(@ModelAttribute User user,ModelAndView mv){
System.out.println(user.getLoginName());
System.out.println(user.getPassword());
//执行添加操作
hrmService.insertUser(user);
//跳转到查询页面
mv.addObject("insertMessage", "添加成功");
mv.setViewName("hrm.view.front/front_view/hrm.view.user/user_insert");
return mv;
}
控制器addUser方法直接调用hrmService方法inserUser()完成添加操作。
删除功能的实现
删除记录时首先要进行选择,可以进行全选或者逐条选择,选择完成后点击“删除”按钮进行删除操作。在点击“删除”按钮提交页面请求时,url携带用户选择的用户id构成的字符串ids,用于后台获取删除的对象。
@RequestMapping(value="/removeUser")
public String removeUser(HttpServletRequest request,Model model){
String ids=request.getParameter("ids");
System.out.println(ids);
String [] idArray=ids.split(",");
for(String id:idArray){
//根据id删除用户
hrmService.deleteUser(Integer.parseInt(id));
}
//待查询结束之后跳转到查询界面
model.addAttribute("deleteMessage", "删除成功");
return "hrm.view.front/front_view/hrm.view.user/user_select";
}
获取到ids字符创之后进行字符串分裂,得到字符创数组,接着遍历数组调用hrmService.deleteUser(Integer.parseInt(id));
进行用户的删除。
修改功能的实现
点击每条记录右边的操作,跳转到另一个页面显示选中用户的信息,如下图:
修改完用户信息之后点击“修改”提交后台进行数据的修改,控制器代码如下:
@RequestMapping(value="/updateUser")
public ModelAndView updateUser(HttpServletRequest request,@ModelAttribute User user,ModelAndView mv){
if(request.getParameter("flag")!=null){
String id=request.getParameter("id");
int userId=Integer.parseInt(id);
//根据id查询用户
User target=hrmService.selectUserById(userId);
//设置Model数据
target.setId(userId);
mv.addObject("user",target);
mv.setViewName("forward:showUpdateUser");
}else{
String id=request.getParameter("id");
System.out.println("userId="+id);
int userId=Integer.parseInt(id);
user.setId(userId);
//执行修改操作
hrmService.updateUser(user);
mv.setViewName("redirect:selectUser");
}
return mv;
}
该方法首先判断请求url中是否包含一个flag,如果为null则获取参数中的id值继而调用hrmService.selectUserById(userId);
方法查询该用户完整信息,然后请求转发到显示页面显示用户信息。
在显示页面点击“修改”按钮还是调用控制器中的updateUser()方法,不同的是此时flag不为null,方法此时获取到一个User对象,再调用业务逻辑方法hrmService.updateUser(user);进行信息更新。