rightsaction.java

来自「一套自己原先在学校作的CRM,大家指点下」· Java 代码 · 共 104 行

JAVA
104
字号
/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.crm.action;

import java.util.Iterator;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.crm.pojo.Rights;
import com.crm.pojo.Role;
import com.crm.service.IRightsBiz;
import com.crm.service.IRoleBiz;

/** 
 * MyEclipse Struts
 * Creation date: 10-06-2008
 * 
 * XDoclet definition:
 * @struts.action path="/rights" name="rightsForm" parameter="operate" scope="request"
 * 薛霞
 */
public class RightsAction extends DispatchAction {
	private IRightsBiz rightBiz;
	private IRoleBiz roleBiz;
	/*
	 * Generated Methods
	 */

	public void setRoleBiz(IRoleBiz roleBiz) {
		this.roleBiz = roleBiz;
	}

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	//显示所有的权限信息,和角色的信息
	public ActionForward toAll(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		int roleId=Integer.parseInt(request.getParameter("roleId"));
		Role role=roleBiz.findById(roleId);
		request.getSession().setAttribute("role",role);
		List rightList=rightBiz.findAll();
		request.getSession().setAttribute("rightList", rightList);
		return mapping.findForward("showRights");
	}
	
	@SuppressWarnings("unchecked")
	public ActionForward doUpdate(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		String [] rightCode=null;
		rightCode=request.getParameterValues("rightName");//得到传过来的所用的权限
		int roleId=Integer.parseInt(request.getParameter("id"));
		Role role=roleBiz.findById(roleId);//查询出要分配权限的角色
		//判断是否分配了权限
		if(rightCode==null || rightCode.length==0){
			//没分配的,把角色从权限中移出
			Iterator it=role.getRights().iterator();
			while(it.hasNext()){
				Rights oldRight=(Rights) it.next();
				oldRight.getRole().remove(role);
				rightBiz.merge(oldRight);
			}	
			//清空角色
			role.getRights().removeAll(role.getRights());
			roleBiz.merge(role);			
		}else{		
			Rights right=null;
			//把角色中的所有权限去除
			role.getRights().clear();
			//把权限添加到角色中,关联关系
			for(int i=0;i<rightCode.length;i++){
				String rc=rightCode[i].toString();
				List lr= rightBiz.findByProperty("rightCode", rc);
				right=(Rights) lr.get(0);
				role.getRights().add(right);
			}	
			//更新数据库
			roleBiz.merge(role);
			rightBiz.merge(right);
		}		
			Role r=roleBiz.findById(roleId);			
			request.getSession().removeAttribute("role");
			request.getSession().setAttribute("role",r);
		return mapping.findForward("showRights");
	}

	public void setRightBiz(IRightsBiz rightBiz) {
		this.rightBiz = rightBiz;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?