baseaction.java

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

JAVA
92
字号
package com.crm.action;

import java.util.Iterator;

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.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;

import com.crm.pojo.Rights;
import com.crm.pojo.UserInfo;

public class BaseAction extends DispatchAction {
	protected ActionMessages errors = new ActionMessages();

	protected void clearErrors() {
		errors.clear();
	}

	protected void SaveErrors(HttpServletRequest request) {
		if (!errors.isEmpty()) {
			super.saveErrors(request, errors);
		}
	}

	protected void AddError(String resKey) {
		this.errors.add("ERROR_KEY", new ActionMessage(resKey));
	}

	protected void AddError(String resKey, String msg) {
		this.errors.add("ERROR_KEY", new ActionMessage(resKey, msg));
	}

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		clearErrors();
		String errorCode = request.getParameter("error_code");
		if (null != errorCode) {
			AddError(errorCode);
		}
		ActionForward af = super.execute(mapping, form, request, response);
		SaveErrors(request);
		return af;
	}

	/**
	 * 构建系统菜单
	 */
	protected void buildMenuString(HttpServletRequest request) {
		UserInfo userInfo = (UserInfo) request.getSession()
				.getAttribute("user");
		if (userInfo != null) {
			StringBuffer sb = new StringBuffer();
			Iterator it = userInfo.getRole().getRights().iterator();
			// 把所有的权限名字添加到
			while (it.hasNext()) {
				Rights right = (Rights) it.next();
				if (right.getRightParentCode().equals("ROOT_MENU")) {
					sb.append("\r\n");
					sb.append(right.getRightCode()).append(
							" = theMenu.addChild(").append(
							right.getRightParentCode()).append(", \"").append(
							right.getRightType()).append("\", \"").append(
							right.getRightText()).append("\", \"").append(
							right.getRightUrl()).append("\", \"").append(
							right.getRightTip()).append("\");\r\n");
				}
			}
			Iterator itt = userInfo.getRole().getRights().iterator();
			while (itt.hasNext()) {
				Rights r = (Rights) itt.next();
				if (!r.getRightParentCode().equals("ROOT_MENU")) {
					sb.append("\r\n");
					sb.append(r.getRightCode()).append(" = theMenu.addChild(")
							.append(r.getRightParentCode()).append(", \"")
							.append(r.getRightType()).append("\", \"").append(
									r.getRightText()).append("\", \"").append(
									r.getRightUrl()).append("\", \"").append(
									r.getRightTip()).append("\");\r\n");
				}
			}
			request.getSession().setAttribute("MENU_STRING", sb.toString());
		}
	}
}

⌨️ 快捷键说明

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