13.5.2 用户管理
本系统的所有JSP
页面都放在WB-INF/jsp
目录下,登录页面是loginForm.jsp
。用户提交登录请求后,用户输入的登录名、密码被提交到UserController
的login
方法, UserController
将会根据请求参数决定呈现哪个视图资源。
处理用户的UserControlller
代码如下:
UserController.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
| package org.fkit.hrm.controller;
import java.util.List; import javax.servlet.http.HttpSession; import org.fkit.hrm.domain.User; import org.fkit.hrm.service.HrmService; import org.fkit.hrm.util.common.HrmConstants; import org.fkit.hrm.util.tag.PageModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView;
@Controller public class UserController {
@Autowired @Qualifier("hrmService") private HrmService hrmService;
@RequestMapping(value = "/login") public ModelAndView login(@RequestParam("loginname") String loginname, @RequestParam("password") String password, HttpSession session, ModelAndView mv) { User user = hrmService.login(loginname, password); if (user != null) { session.setAttribute(HrmConstants.USER_SESSION, user); mv.setViewName("redirect:/main"); } else { mv.addObject("message", "登录名或密码错误!请重新输入"); mv.setViewName("forward:/loginForm"); } return mv;
}
@RequestMapping(value = "/user/selectUser") public String selectUser(Integer pageIndex, @ModelAttribute User user, Model model) { System.out.println("user = " + user); PageModel pageModel = new PageModel(); if (pageIndex != null) { pageModel.setPageIndex(pageIndex); } List<User> users = hrmService.findUser(user, pageModel); model.addAttribute("users", users); model.addAttribute("pageModel", pageModel); return "user/user";
}
@RequestMapping(value = "/user/removeUser") public ModelAndView removeUser(String ids, ModelAndView mv) { String[] idArray = ids.split(","); for (String id : idArray) { hrmService.removeUserById(Integer.parseInt(id)); } mv.setViewName("redirect:/user/selectUser"); return mv; }
@RequestMapping(value = "/user/updateUser") public ModelAndView updateUser(String flag, @ModelAttribute User user, ModelAndView mv) { if (flag.equals("1")) { User target = hrmService.findUserById(user.getId()); mv.addObject("user", target); mv.setViewName("user/showUpdateUser"); } else { hrmService.modifyUser(user); mv.setViewName("redirect:/user/selectUser"); } return mv; }
@RequestMapping(value = "/user/addUser") public ModelAndView addUser(String flag, @ModelAttribute User user, ModelAndView mv) { if (flag.equals("1")) { mv.setViewName("user/showAddUser"); } else { hrmService.addUser(user); mv.setViewName("redirect:/user/selectUser"); } return mv; }
@RequestMapping(value = "/logout") public ModelAndView logout(ModelAndView mv, HttpSession session) { session.invalidate(); mv.setViewName("redirect:/loginForm"); return mv; } }
|
部署hrmapp
这个Web
应用,在浏览器中输入如下URL
来测试应用:
1
| http://localhost:8080/hrmapp
|
Spring MVC
会跳转到初始登录页面loginForm.jsp
输入正确的登录名"admin"
、密码”123456
“,若登录成功,则跳转到人事管理系统界面。
单击左侧菜单”用户管理
“下面的”添加用户
“命令,跳转到”添加用户
“界面。
输入需要添加的用户姓名
、状态
、登录名
和密码
,单击”添加
“按钮,若添加成功则跳转用户查询界面
,显示所有用户信息。
- 输入用户名、用户状态,单击”搜索”按钮可以完成**模糊
查询
**功能。
- 选择每一行最后一列的”操作”按钮,可以进入修改页面,对选中的用户进行
修改
操作,
- 选择每一行第一列的复选框,单击”删除”按钮,则可以对选中的用户进行
删除
操作。