📄 rolesaction.java
字号:
package com.ntsky.bbs.action;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import org.apache.log4j.Logger ;
import java.util.StringTokenizer;
import java.util.*;
import org.apache.commons.beanutils.PropertyUtils;
import com.ntsky.bbs.service.Roles;
import com.ntsky.xml.bbs.XMLCreator;
import com.ntsky.xml.bbs.RolesXML;
import com.ntsky.bbs.service.RolesUtil;
import com.ntsky.bbs.service.User;
import com.ntsky.bbs.action.Constant;
import com.ntsky.bbs.service.UserUtil;
import com.ntsky.bbs.form.RolesActionForm;
import com.ntsky.xml.bbs.JavaScriptXML;
import com.ntsky.bbs.service.Proxy;
import com.ntsky.bbs.service.UserProxy;
import com.ntsky.bbs.service.UserFactory;
/**
* <p>Title: Ntsky OpenSource BBS</p>
* <p>Description: 角色信息</p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: WWW.FM880.COM</p>
* @author 姚君林
* @version 1.0
*/
public class RolesAction extends Action {
private final static Logger logger = Logger.getLogger(RolesAction.class);
public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception{
HttpSession session = httpServletRequest.getSession();
XMLCreator xmlCreator = XMLCreator.getInstance();
JavaScriptXML jsXML = xmlCreator.getJavaScriptXML();
// session判断
String admin = (String)session.getAttribute(Constant.ADMIN_KEY);
if(admin == null){
httpServletRequest.setAttribute("javascript",jsXML.getJsInfo(1));
return actionMapping.findForward("admin_logon");
}
/**
* 察看权限
*/
User users = UserFactory.getInstance().userInfo(admin);
String usrRole = users.getUsrRole();
Proxy proxy = new UserProxy();
if (!proxy.isAction(usrRole, 30)) {
httpServletRequest.setAttribute("javascript", jsXML.getJsInfo(2));
return actionMapping.findForward("admin_logon");
}
String action = httpServletRequest.getParameter("action");
String roleId = httpServletRequest.getParameter("roleId");
RolesActionForm rolesActionForm = new RolesActionForm();
httpServletRequest.setAttribute(actionMapping.getAttribute(), rolesActionForm);
/**
* 设置显示值
*/
RolesXML rolesXML = XMLCreator.getInstance().getRolesXML();
Collection rightsList = XMLCreator.getInstance().getRightsXML().getRightsXML();
/**
* 返回的公共部分
*/
session.setAttribute("rightsList",rightsList);
//列表的数据
session.setAttribute("rolesXML",rolesXML.getRolesXML());
//用户管理栏目 修改用户角色信息
/**
* 改变用户角色信息
*/
if("changeRole".equals(action)){
if (!proxy.isAction(usrRole, 17)) {
httpServletRequest.setAttribute("javascript", jsXML.getJsInfo(2));
return actionMapping.findForward("admin_logon");
}
logger.info("改变用户角色信息.....");
User user = UserUtil.userInfo(httpServletRequest.getParameter("usrName"));
rolesActionForm.setRoleRgtEnu(getStrEnu(user.getUsrRole()));
return actionMapping.findForward("changeRole");
}
rolesActionForm.setAction(action);
httpServletRequest.setAttribute("rolesPic",RolesUtil.rolesPic());
//httpServletRequest.setAttribute("rolesList", RolesUtil.setRolesSel());
/**
* 添加情况
*/
if((Constant.CREATE).equals(action)){
if (!proxy.isAction(usrRole, 31)) {
httpServletRequest.setAttribute("javascript", jsXML.getJsInfo(2));
return actionMapping.findForward("admin_logon");
}
rolesActionForm.setRolePic("/images/level1.gif");
rolesActionForm.setRoleId(rolesXML.getRoleId()+1);
logger.info("成功mapping到权限信息设置");
return actionMapping.findForward("continue");
}
/**
* 修改情况
*/
if((Constant.EDIT).equals(action)){
if (!proxy.isAction(usrRole, 32)) {
httpServletRequest.setAttribute("javascript", jsXML.getJsInfo(2));
return actionMapping.findForward("admin_logon");
}
/**
* roleId对应的rights的值
*/
Roles roles = rolesXML.getSelRolesXML(Integer.parseInt(roleId));
rolesActionForm.setRoleId(roles.getRoleId());
rolesActionForm.setRoleName(roles.getRoleName());
rolesActionForm.setRoleMin(roles.getRoleMin());
rolesActionForm.setRolePic(roles.getRolePic());
rolesActionForm.setRoleDesc(roles.getRoleDesc());
rolesActionForm.setRoleRgtEnu(getStrEnu(roles.getRoleEnuStr()));
return actionMapping.findForward("continue");
}
/**
* 删除纪录
*/
if((Constant.DELETE).equals(action)){
if (!proxy.isAction(usrRole, 33)) {
httpServletRequest.setAttribute("javascript", jsXML.getJsInfo(2));
return actionMapping.findForward("admin_logon");
}
RolesXML role = new RolesXML();
role.delRoles(Integer.parseInt(roleId));
logger.info("删除纪录返回......");
return actionMapping.findForward("delete");
}
if((Constant.FLUSH).equals(action)){
return actionMapping.findForward("continue");
}
return actionMapping.findForward("continue");
//throw new java.lang.UnsupportedOperationException("Method perform() not yet implemented.");
}
/**
* 获得已有数据的数组
* @param strEnu String
* @return String[]
*/
public String[] getStrEnu(String strEnu){
StringTokenizer stringTokenizer = new StringTokenizer(strEnu, ",");
String[] string = new String[stringTokenizer.countTokens()];
logger.info(String.valueOf(string.length));
int i = 0;
while (stringTokenizer.hasMoreTokens()) {
String str = stringTokenizer.nextToken();
string[i] = str;
i++;
}
return string;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -