UserAction.java
上传用户:kimgenplus
上传日期:2016-06-05
资源大小:20877k
文件大小:5k
源码类别:

OA系统

开发平台:

Java

  1. package com.bjsxt.oa.web.actions;
  2. import java.util.List;
  3. import javax.servlet.http.HttpServletRequest;
  4. import javax.servlet.http.HttpServletResponse;
  5. import org.apache.commons.beanutils.BeanUtils;
  6. import org.apache.struts.action.ActionForm;
  7. import org.apache.struts.action.ActionForward;
  8. import org.apache.struts.action.ActionMapping;
  9. import com.bjsxt.oa.PagerModel;
  10. import com.bjsxt.oa.managers.PersonManager;
  11. import com.bjsxt.oa.managers.RoleManager;
  12. import com.bjsxt.oa.managers.UserManager;
  13. import com.bjsxt.oa.model.User;
  14. import com.bjsxt.oa.web.forms.UserActionForm;
  15. public class UserAction extends BaseAction {
  16. private PersonManager personManager;
  17. private UserManager userManager;
  18. private RoleManager roleManager;
  19. //首页,显示人员列表
  20. @Override
  21. protected ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  22. request.setAttribute("pm",
  23. personManager.searchPersons()
  24. );
  25. return mapping.findForward("index");
  26. }
  27. //打开添加界面
  28. public ActionForward addInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  29. return mapping.findForward("add_input");
  30. }
  31. public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  32. //从页面表单接收数据
  33. UserActionForm uaf = (UserActionForm)form;
  34. User user = new User();
  35. BeanUtils.copyProperties(user, uaf);
  36. userManager.addUser(user, uaf.getPersonId());
  37. return mapping.findForward("pub_add_success");
  38. }
  39. public ActionForward updateInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  40. UserActionForm uaf = (UserActionForm)form;
  41. request.setAttribute("user", userManager.findUser(uaf.getId()));
  42. return mapping.findForward("update_input");
  43. }
  44. public ActionForward update(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  45. UserActionForm uaf = (UserActionForm)form;
  46. User user = new User();
  47. BeanUtils.copyProperties(user, uaf);
  48. userManager.updateUser(user, uaf.getPersonId());
  49. return mapping.findForward("pub_update_success");
  50. }
  51. //打开用户已有角色的列表页面,在页面上需要显示:用户的姓名、以及用户已拥有的角色列表
  52. public ActionForward userRoleList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  53. UserActionForm uaf = (UserActionForm)form;
  54. //用户信息
  55. User user = userManager.findUser(uaf.getId());
  56. //需要加载已分配给用户的角色列表
  57. List usersRolesList = userManager.searchUserRoles(uaf.getId());
  58. request.setAttribute("user", user);
  59. request.setAttribute("urs", usersRolesList);
  60. return mapping.findForward("user_role_list");
  61. }
  62. //打开给用户分配角色页面:即从角色列表中选择某个角色,并设置优先级
  63. public ActionForward userRoleInput(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  64. UserActionForm uaf = (UserActionForm)form;
  65. //查找角色列表,并传输到界面,以便用户的选择
  66. PagerModel roles = roleManager.searchRoles();
  67. request.setAttribute("pm", roles);
  68. return mapping.findForward("user_role_input");
  69. }
  70. //给用户分配角色:页面上需要传递过来的参数包括:用户标识、角色标识、优先级
  71. public ActionForward addUserRole(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  72. UserActionForm uaf = (UserActionForm)form;
  73. //用户标识
  74. int userId = uaf.getId();
  75. //角色标识
  76. int roleId = uaf.getRoleId();
  77. //优先级
  78. int orderNo = uaf.getOrderNo();
  79. userManager.addOrUpdateUserRole(userId, roleId, orderNo);
  80. return mapping.findForward("pub_add_success");
  81. }
  82. //删除分配给用户的角色,页面上需要传输过来的参数包括:用户标识、角色标识
  83. public ActionForward delUserRole(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  84. UserActionForm uaf = (UserActionForm)form;
  85. //用户标识
  86. int userId = uaf.getId();
  87. //角色标识
  88. int roleId = uaf.getRoleId();
  89. userManager.delUserRole(userId, roleId);
  90. return mapping.findForward("pub_add_success");
  91. }
  92. public ActionForward del(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
  93. UserActionForm uaf = (UserActionForm)form;
  94. userManager.delUser(uaf.getId());
  95. return mapping.findForward("pub_del_success");
  96. }
  97. public void setPersonManager(PersonManager personManager) {
  98. this.personManager = personManager;
  99. }
  100. public void setUserManager(UserManager userManager) {
  101. this.userManager = userManager;
  102. }
  103. public void setRoleManager(RoleManager roleManager) {
  104. this.roleManager = roleManager;
  105. }
  106. }