📄 rolepoweraction.java
字号:
package com.qrsx.qrsxcrm.action;
import java.lang.reflect.InvocationTargetException;
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 com.qrsx.qrsxcrm.dao.PowerDAO;
import com.qrsx.qrsxcrm.dao.RoleDAO;
import com.qrsx.qrsxcrm.form.RolePowerForm;
import com.qrsx.qrsxcrm.model.Power;
import com.qrsx.qrsxcrm.model.Role;
public class RolePowerAction extends BaseDispatchAction {
/**
* 绑定权限信息,转到列表页面 //还没加入分页
* @param mapping
* @param form
* @param request
* @param response
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@SuppressWarnings("unchecked")
public ActionForward hangList(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IllegalAccessException, InvocationTargetException {
PowerDAO pDao = new PowerDAO(Power.class);
List<Power> list = pDao.findAll("from Power p"); //检索所有的权限
request.setAttribute("powers", list);
RolePowerForm rolePowerForm = (RolePowerForm) form;
String roleId = request.getParameter("id");
rolePowerForm.setRoleId(roleId); //将角色id设置到form中
RoleDAO rDao = new RoleDAO(Role.class);
Role role = (Role) rDao.findById(Role.class, roleId); //根据角色id得到角色
String[] powerIds = rDao.findPowersId(role); // 得到该角色所有权限的Id
rolePowerForm.setPowerIds(powerIds); //把得到的角色权限id设置到form中
return mapping.findForward("list");
}
/**
* 保存绑定的权限信息
*/
public ActionForward save(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IllegalAccessException, InvocationTargetException {
String[] powerIds=((RolePowerForm)form).getPowerIds(); //得到所选权限的编号
String roleId=((RolePowerForm)form).getRoleId(); //得到角色编号
//先删除角色的所有权限
RoleDAO rdao=new RoleDAO(Role.class);
Role role=(Role) rdao.findById(Role.class, roleId); //得到角色
rdao.deleteAllPowers(role);
//再添加已得的权限
rdao.addPowers(powerIds, role);
return mapping.findForward("success");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -