📄 msg.java
字号:
/**
*
*/
package com.dotease.common;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.Globals;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.util.MessageResources;
import java.util.ArrayList;
/**
* @author Administrator牛一Niuyi 2007-10-9
*2007-10-9
*/
public class Msg {
/**
* save the error messages! This like Action.saveErrors();
* @param request
* @param errors
*/
protected static final void saveErrors(HttpServletRequest request,ActionMessages errors) {
if ((errors == null) || errors.isEmpty()) {
request.removeAttribute(Globals.ERROR_KEY);
return;
}
// Save the error messages we need
request.setAttribute(Globals.ERROR_KEY, errors);
}
/**
* 保存弹出消息到Request,使用默认的key:showError
* 此信息在前台设置<html:errors property="showError"/>后,弹出!
* 建议:<html:errors>放在紧挨着</body>的地方!
* 适合有错误,就返回! 如果多次调用,会覆盖上次的Errors
* @param request
* @param ActionMessage
*
*/
public static final void saveError(HttpServletRequest request,ActionMessage error) {
MessageResources msgResource = ((MessageResources) request.getAttribute(Globals.MESSAGES_KEY));
String msg=msgResource.getMessage(error.getKey());
int length=0;
if(error.getValues()!=null)
length=error.getValues().length;
for(int i=0;i<length;i++)
{
msg=msg.replace("{"+i+"}", error.getValues()[i].toString());
}
ActionMessages errors = new ActionMessages();
errors.add("showError",new ActionMessage("showError",msg));
saveErrors(request,errors);
}
/**
* 把ActionMessage对象转化为文本字符串
* @param request
* @param msg
* @return
*/
public static final String msgToString(HttpServletRequest request,ActionMessage error)
{
MessageResources msgResource = ((MessageResources) request.getAttribute(Globals.MESSAGES_KEY));
String msg=msgResource.getMessage(error.getKey());
msg=filterString(msg);
int length=0;
if(error.getValues()!=null)
length=error.getValues().length;
for(int i=0;i<length;i++)
{
msg=msg.replace("{"+i+"}", error.getValues()[i].toString());
}
return msg;
}
/**
* 返回MessageResources对象,通过它可以获得配置资源
* @param request
* @return
*/
public static final MessageResources getMsgResources(HttpServletRequest request)
{
return ((MessageResources) request.getAttribute(Globals.MESSAGES_KEY));
}
public static final ActionMessages getErrors(HttpServletRequest request)
{
ActionMessages errors = (ActionMessages)request.getAttribute(Globals.ERROR_KEY);
if(errors == null)
errors = new ActionMessages();
return errors;
}
/**
* 保存弹出消息到Request,使用默认的key:showError
* @param request
* @param error
*/
public static final void addError(HttpServletRequest request,ActionMessage error)
{
ActionMessages errors=getErrors(request);
errors.add("showError", new ActionMessage("showError",msgToString(request,error)));
saveErrors(request,errors);
}
public static final void addErrorToken(HttpServletRequest request)
{
ActionMessages errors=getErrors(request);
errors.add("showError", new ActionMessage("error.token"));
saveErrors(request,errors);
}
/**
* 保存弹出消息到Request,使用默认的key:showError
* @param request
* @param key
*/
public static final void addError(HttpServletRequest request,String key)
{
ActionMessages errors=getErrors(request);
String temp=key;
temp=getMsgResources(request).getMessage(key);
if(temp!=null)
key=temp;
errors.add("showError", new ActionMessage("showError",key));
saveErrors(request,errors);
}
public static final void addMsg(HttpServletRequest request,String key,ActionMessage error)
{
ActionMessages errors=getErrors(request);
errors.add(key, error);
saveErrors(request,errors);
}
public static final void addMsg(HttpServletRequest request,String key,String value)
{
ActionMessages errors=getErrors(request);
errors.add(key, new ActionMessage("showMsg",value));
saveErrors(request,errors);
}
public static final String filterString(String s)
{
if(s.indexOf("<")==-1)
return s;
int len=s.length();
int ps=s.indexOf("<");
int pe=s.indexOf(">");
s=s.substring(0, ps)+s.substring(pe+1,s.length());
return filterString(s);
}
//error.DBError
public static final void addError(HttpServletRequest request,Exception e)
{
ActionMessages errors=getErrors(request);
String temp=getMsgResources(request).getMessage("error.exception");
errors.add("showError", new ActionMessage("showError",temp+e.getMessage()));
saveErrors(request,errors);
e.printStackTrace();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -