📄 strutsaction.java
字号:
package org.langsin.core.web;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.converters.DoubleConverter;
import org.apache.commons.beanutils.converters.FloatConverter;
import org.apache.commons.beanutils.converters.IntegerConverter;
import org.apache.commons.beanutils.converters.LongConverter;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.actions.DispatchAction;
import org.langsin.core.web.support.DateConverter;
import org.langsin.core.web.support.StringConverter;
import org.springframework.util.ReflectionUtils;
/**
* struts 基类,封装DispatchAction,提供反射机制常用的方法和类型之间的转换,处理信息等等
*
* @author 不落的太阳
*
*/
public class StrutsAction extends DispatchAction {
public static final String SUCCESS = "success";
public static final String DIRECTLY_MESSAGE_KEY = "message";
static {
registConverter();
}
/**
* 类型之前的转换,字符串为空值时,数值默认为空
*
*/
public static void registConverter() {
ConvertUtils.register(new StringConverter(), String.class);
ConvertUtils.register(new IntegerConverter(null), Integer.class);
ConvertUtils.register(new LongConverter(null), Long.class);
ConvertUtils.register(new FloatConverter(null), Float.class);
ConvertUtils.register(new DoubleConverter(null), Double.class);
ConvertUtils.register(new DateConverter("yyyy-MM-dd"), Date.class);
}
/**
* 将FormBean中的内容通过BeanUtils全部copy到Object中
*
* @param form
* @param object
*/
protected void bindEntity(ActionForm form, Object object) {
if (form != null) {
try {
BeanUtils.copyProperties(object, form);
} catch (Exception e) {
ReflectionUtils.handleReflectionException(e);
}
}
}
/**
* 将Object中的内容通过BeanUtils全部copy到FormBean中
*
* @param form
* @param object
*/
protected void bindForm(ActionForm form, Object object) {
if (object != null) {
try {
BeanUtils.copyProperties(form, object);
} catch (Exception e) {
ReflectionUtils.handleReflectionException(e);
}
}
}
/**
* 保存单条信息到Messages
*
* @param request
* @param key
* @param values
*/
protected void saveMessage(HttpServletRequest request, String key, String... values) {
ActionMessages msgs = new ActionMessages();
msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(key, values));
saveMessages(request.getSession(), msgs);
}
protected void saveDirectlyMessage(HttpServletRequest request, String message) {
ActionMessages msgs = new ActionMessages();
msgs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(DIRECTLY_MESSAGE_KEY, message));
saveMessages(request.getSession(), msgs);
}
/**
* 保存信息Error
*
* @param request
* @param key
* @param values
*/
protected void saveError(HttpServletRequest request, String key, String... values) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(key, values));
saveErrors(request.getSession(), errors);
}
protected void saveDirectlyError(HttpServletRequest request, String message) {
ActionMessages errors = new ActionMessages();
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(DIRECTLY_MESSAGE_KEY, message));
saveErrors(request.getSession(), errors);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -