📄 roleprivilegeaction.java
字号:
/**
*
*/
package com.qrsx.appcam.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.qrsx.appcam.dao.AssetDAO;
import com.qrsx.appcam.dao.EmployeeDAO;
import com.qrsx.appcam.dao.PrivilegeDAO;
import com.qrsx.appcam.dao.RoleDAO;
import com.qrsx.appcam.dao.RolePrivilegeDAO;
import com.qrsx.appcam.model.Asset;
import com.qrsx.appcam.model.Employee;
import com.qrsx.appcam.model.Privilege;
import com.qrsx.appcam.model.Role;
import com.qrsx.appcam.model.RolePrivilege;
/**
* 用户在角色列表页面点击编辑权限,将转到新页面,列出用户拥有的所有权限,每条权限右边有一个删除
* 连接可以进行删除操作,还提供一个添加按钮转到新页面可以进行添加权限操作.在该页面仅显示当前
* 编辑的角色没有的权限.通过查询privilege表中的privilegeId,与roleprivilege表中该角色拥有的权限
* privilegeId进行比较来实现.先查出roleprivilege表中当前roleId对应的privilegeId集合,再从privilege表查询所有不
* 在该集合中的privilege 使用select * from privilege where id not in
* @author 张清华
*
*/
/*对privilegeIds如下处理
AssetForm assetForm = (AssetForm)form;
//存储为form的一个属性
List addTypes = new ArrayList();
addTypes.add("自建");
addTypes.add("购入");
addTypes.add("融资租赁");
addTypes.add("捐赠");
assetForm.setAddTypes(addTypes);
*/
public class RolePrivilegeAction extends BaseLookupDispatchAction{
/**
* 添加角色权限
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward save(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception{
RolePrivilege rolePrivilege = new RolePrivilege();
BeanUtils.copyProperties(rolePrivilege,form);
RolePrivilegeDAO dao = new RolePrivilegeDAO();
dao.create(rolePrivilege);
saveMessage(request,"rolePrivilegeForm.added");
//return mapping.findForward("success");
ActionForward forward = mapping.findForward("success");
StringBuffer path = new StringBuffer(forward.getPath());
boolean isQuery= (path.indexOf("?")>=0);
if (isQuery)path.append("&id="+rolePrivilege.getRoleId());
else
path.append("?id="+rolePrivilege.getRoleId());
return new ActionForward(path.toString());
}
/**
* 删除角色权限
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward delete(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
String roleId = request.getParameter("roleId");
String privilegeId = request.getParameter("privilegeId");
if( roleId!=null && roleId.trim().length()>0 ){
RolePrivilegeDAO dao = new RolePrivilegeDAO();
dao.delete(Integer.valueOf(roleId),Integer.valueOf(privilegeId));
saveMessage(request,"rolePrivilegeForm.deleted");
}
//return mapping.findForward("success");
ActionForward forward = mapping.findForward("success");
StringBuffer path = new StringBuffer(forward.getPath());
boolean isQuery= (path.indexOf("?")>=0);
if (isQuery)path.append("&id="+Integer.valueOf(roleId));
else
path.append("?id="+Integer.valueOf(roleId));
return new ActionForward(path.toString());
}
/**
* 列出当前角色的所有权限
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward list(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
String roleId = request.getParameter("id");
RolePrivilegeDAO dao = new RolePrivilegeDAO();
RolePrivilege rolePrivilege = dao.list(Integer.valueOf(roleId));
request.setAttribute("rolePrivilege", rolePrivilege);
ArrayList<Privilege> list=new ArrayList<Privilege>();
PrivilegeDAO privilegeDao=new PrivilegeDAO();
Integer[] privileges=rolePrivilege.getPrivilegeIds();
for(int i=0,n=privileges.length;i<n;i++){
Privilege privilege=privilegeDao.findById(privileges[i]);
list.add(privilege);
}
request.setAttribute("privileges", list);
//存放单独bean的集合
RoleDAO roleDao = new RoleDAO();
Role role = roleDao.findById(Integer.valueOf(roleId));
request.setAttribute("role", role);
return mapping.findForward("list");
}
/**
* 返回当前角色不具有的权限
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws Exception
*/
public ActionForward assemble(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception{
String roleId=request.getParameter("roleId");
RolePrivilegeDAO dao = new RolePrivilegeDAO();
List<Privilege> list=dao.assemble(Integer.valueOf(roleId));
request.setAttribute("privileges", list);
request.setAttribute("roleId", roleId);
return mapping.findForward("edit");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -