📄 commtool.java
字号:
package com.easyjf.web.tools;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.BeanUtilsBean;
import org.apache.velocity.VelocityContext;
import org.apache.velocity.context.Context;
import com.easyjf.util.CommUtil;
import com.easyjf.util.HtmlUtil;
import com.easyjf.web.WebForm;
import java.beans.PropertyDescriptor;
/**
*
* <p>Title: EasyJWeb内钳通用工具集</p>
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
* <p>Company: EasyJF开源团队</p>
* @author 大峡
* @version 1.0
*/
public class CommTool {
/**
* 复制一个iterator,可以在不同的classType之间复制
* @param classType iteratro中的类
* @param src 复制源
* @return
*/
public static Iterator CopyIterator(Class classType, Iterator src) {
return CopyList(classType, src).iterator();
}
/**
* 采用copy属性的方式复制一个list,可以在不同的class之间复制
* @param classType list中的类
* @param src 复制源
* @return
*/
public static List CopyList(Class classType, Iterator src) {
List tag = new ArrayList();
while (src.hasNext()) {
Object obj = null, ormObj = src.next();
try {
obj = classType.newInstance();
BeanUtils.copyProperties(obj, ormObj);
} catch (Exception e) {
}
if (obj != null)
tag.add(obj);
}
return tag;
}
/**
* 把map对象转换成obj,即把map中的key当成obj的属性,只转换两者完全相同的属性
* @param map
* @param obj
*/
public static void Map2Obj(Map map, Object obj) {
Iterator names = map.keySet().iterator();
while (names.hasNext()) {
String name = (String) names.next();
if (BeanUtilsBean.getInstance().getPropertyUtils().isWriteable(obj,
name)) {
Object value = map.get(name);
try {
BeanUtilsBean.getInstance().copyProperty(obj, name, value);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/**
* 把obj的属性转换成map,执行该操作将把obj.getXX转换成map.get("XX")
* @param obj
* @param map
*/
public static void Obj2Map(Object obj, Map map) {
if (map == null)
map = new java.util.HashMap();
PropertyDescriptor descriptors[] = BeanUtilsBean.getInstance()
.getPropertyUtils().getPropertyDescriptors(obj);
for (int i = 0; i < descriptors.length; i++) {
String name = descriptors[i].getName();
try {
if (descriptors[i].getReadMethod() != null) {
map.put(name, BeanUtilsBean.getInstance()
.getPropertyUtils().getProperty(obj, name));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* EasyJWeb调用
* @param form
* @return
*/
public static Context createContext(WebForm form) {
Map result = form.getEasyJWebResult();
Context context = new VelocityContext();
Iterator it = result.keySet().iterator();
while (it.hasNext()) {
String name = (String) it.next();
context.put(name, result.get(name));
// logger.debug("Context:"+name+"="+result.get(name));
createUtilContext(context);
}
return context;
}
public static void createUtilContext(Context context) {
context.put("HtmlUtil", HtmlUtil.getInstance());
context.put("CommUtil", CommUtil.getInstance());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -