📄 baseaction.java
字号:
package com.seavision.PermissionManage.common;
/**
*
* @author xutao.huang
*
* @version 1.0
*/
import java.math.BigDecimal;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.seavision.PermissionManage.help.MessageBeanUtil;
public class BaseAction extends Action {
private static final Log log =
LogFactory.getLog(BaseAction.class);
public static final String NUMBER = "-.0123456789";
public static final String INTNUMBER = "-0123456789";
public static final String POSITIVEINTNUMBER = "0123456789";
public static boolean printFlag = true; //打印控制标志
public static int encodingFlag = 2; //编码控制值
private String className = ""; //类名
ParamChecking pc = new ParamChecking();
public HttpServletRequest request = null;
public HttpSession session = null;
/*
*
* 这个方法是action判断用户是否登录. 调用该方法.如果返回true说明用户已经登录
* 如果返回的是false 说明用户没登录或者长时间没进行操作..
*
* */
public boolean checkUserIsLogin() {
boolean result = false;
if (this.check(session.getAttribute("loginUserBean"))) {
//如果调用方法返回的是true说明这个对象在session中不存在
result = true;;
}
return result;
}
public boolean check(String param) {
if (param == null || param.trim().length() == 0) {
return true;
} else {
return false;
}
}
public Object requestGetAttribute(String paramName) {
Object obj = this.request.getAttribute(paramName);
if (obj instanceof String) {
String paramValue = (String) obj;
paramValue = this.exchangeStrParam(paramValue);
this.print("从 session 接受参数 - " + paramName + " 为 : " + paramValue);
return paramValue;
} else if (obj instanceof String[]) {
String[] paramValue = (String[]) obj;
paramValue = this.exchangeStrParam(paramValue);
if (paramValue != null) {
for (int i = 0; i < paramValue.length; i++)
this.print("从 session 接受数组参数 - " + paramName + "[" + i + "] 为 : " + paramValue[i]);
}
return paramValue;
} else {
return obj;
}
}
public boolean check(String[] param) {
if (param == null || param.length == 0) {
return true;
} else {
return false;
}
}
public boolean check(Object obj) {
if (obj == null)
return true;
else
return false;
}
public String[] trim(String[] param) {
for (int i = 0; i < param.length; i++) {
param[i] = param[i].trim();
}
return param;
}
public ActionForward moveTo(String messageType, String message, String className, String forwardName, HttpSession session, ActionMapping mapping) {
StringBuffer sb = new StringBuffer();
// request.setAttribute("messageType", messageType);
request.setAttribute("message", message);
MessageBeanUtil.sendMessage(request,message,messageType);
sb.append("\n[" + className + "] messageType : " + messageType + "\n");
sb.append("detailMessage : " + message + "\n");
sb.append("返回页 : " + forwardName + "\n");
sb.append("[" + className + "] 结束操作" + "\n");
print(sb.toString());
return mapping.findForward(forwardName);
}
public ActionForward moveToError(String message, String forwardName, ActionMapping mapping) {
StringBuffer sb = new StringBuffer();
this.setAttribute2("message", message);
MessageBeanUtil.sendMessage(request,message,true);
sb.append("[" + this.className + "] 执行结果 : Error \n");
sb.append("详细信息 : " + message + "\n");
sb.append("返回页 : " + forwardName + "\n");
sb.append("[" + this.className + "] 结束操作" + "\n");
this.print(sb.toString());
return mapping.findForward(forwardName);
}
public ActionForward moveToFailure(String message, String forwardName, ActionMapping mapping) {
StringBuffer sb = new StringBuffer();
this.setAttribute2("message", message);
MessageBeanUtil.sendMessage(request,message,true);
sb.append("[" + this.className + "] 执行结果 : failure \n");
sb.append("详细信息 : " + message + "\n");
sb.append("返回页 : " + forwardName + "\n");
sb.append("[" + this.className + "] 结束操作" + "\n");
this.print(sb.toString());
return mapping.findForward(forwardName);
}
public ActionForward moveToSuccess(String forwardName, ActionMapping mapping) {
StringBuffer sb = new StringBuffer();
sb.append("[" + this.className + "] 执行结果 : success \n");
sb.append("返回页 : " + forwardName + "\n");
sb.append("[" + className + "] 结束操作" + "\n");
this.print(sb.toString());
return mapping.findForward(forwardName);
}
public void print(String actionName, String containerName, String interName, Vector params) {
StringBuffer sb = new StringBuffer();
sb.append("[ " + actionName + " 调用 " + containerName + " 接口 " + interName + "( ");
for (int i = 0, j = params.size(); i < j; i++) {
if (i == 0)
sb.append(params.get(i));
else
sb.append(", " + params.get(i));
}
sb.append(" ) ]");
this.print(sb.toString());
}
public void print(String s) {
if (printFlag){
//System.out.println(s);
log.debug(s);
}
}
public void print(int i) {
this.print(i + "");
}
public void print(Float f) {
this.print(f + "");
}
public void print(boolean b) {
this.print(b + "");
}
public void print(String s[]) {
for (int i = 0; i < s.length; i++) {
this.print(s[i] + " ");
}
this.print("");
}
public void print(String arrayName, String s[]) {
for (int i = 0; i < s.length; i++) {
this.print(arrayName + "[" + i + "] : " + s[i] + "\n");
}
}
public void setPrintFlag(boolean flag) {
printFlag = flag;
}
/**
* 判断字符串是否为整数
* @param param 待判断字符串
* @return true 是字符串 false 不是字符串
*/
public boolean isNum2(String param) {
//为空打回
if (this.check(param))
return false;
System.out.println("param=====:"+param.indexOf("-"));
//整句出现 - 号打回
if ((param.indexOf("-") == 0))
return false;
//整句出现两个 . 号打回
if ((param.indexOf(".") != param.lastIndexOf(".")))
return false;
//参数长度为1时以 - 号或 . 号打回
if (param.length() == 1) {
if (param.substring(0).equalsIgnoreCase("-") || param.substring(0).equalsIgnoreCase("."))
return false;
}
//参数长度大于2时以 - 号开始,但以 . 号跟随打回,加长度判断避免越界异常
if (param.length() >= 2) {
if (param.startsWith("-") && param.substring(1, 2).equalsIgnoreCase("."))
return false;
}
//判断是否以 . 开始,- 未出现在第一位置,不在数字界限内,错误打回
for (int i = 0; i < param.length(); i++) {
String sNum = param.substring(i, i + 1);
if (i == 0 && sNum.equals("."))
return false;
if (i != 0 && sNum.equals("-"))
return false;
int flag = NUMBER.indexOf(sNum);
if (flag == -1)
return false;
}
return true;
}
/**
* 判断字符串是否为数字
* @param param 待判断字符串
* @return true 是字符串 false 不是字符串
*/
public boolean isNum(String param) {
//为空打回
if (this.check(param))
return false;
//整句出现两个 - 号或两个 . 号打回
if ((param.indexOf("-") != param.lastIndexOf("-")) || (param.indexOf(".") != param.lastIndexOf(".")))
return false;
//参数长度为1时以 - 号或 . 号打回
if (param.length() == 1) {
if (param.substring(0).equalsIgnoreCase("-") || param.substring(0).equalsIgnoreCase("."))
return false;
}
//参数长度大于2时以 - 号开始,但以 . 号跟随打回,加长度判断避免越界异常
if (param.length() >= 2) {
if (param.startsWith("-") && param.substring(1, 2).equalsIgnoreCase("."))
return false;
}
//判断是否以 . 开始,- 未出现在第一位置,不在数字界限内,错误打回
for (int i = 0; i < param.length(); i++) {
String sNum = param.substring(i, i + 1);
if (i == 0 && sNum.equals("."))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -