?? 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 + -