varpart.java

来自「cwbbs 云网论坛源码」· Java 代码 · 共 191 行

JAVA
191
字号
package com.cloudwebsoft.framework.template;import java.util.HashMap;import cn.js.fan.util.StrUtil;import javax.servlet.http.HttpServletRequest;import com.cloudwebsoft.framework.util.LogUtil;import cn.js.fan.util.ParamUtil;import java.net.URLEncoder;import cn.js.fan.util.DateUtil;import java.util.Date;import com.cloudwebsoft.framework.util.BeanUtil;import java.util.List;public class VarPart implements ITemplate {    public String name;    public String parentName;    public HashMap props = new HashMap();    public VarPart() {    }    public String toString(HttpServletRequest request, List param) {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getName() {        return name;    }    public void setParentName(String parentName) {        this.parentName = parentName;    }    public void setKeyName(String keyName) {        this.keyName = keyName;    }    public void setKeyValue(String keyValue) {        this.keyValue = keyValue;    }    public void setField(String field) {        this.field = field;    }    public String getParentName() {        return parentName;    }    public String getKeyName() {        return keyName;    }        public String parseKeyValueFromRequest(HttpServletRequest request) {        if (keyValue!=null && keyValue.startsWith("request")) {            int p = keyValue.indexOf(".");            if (p!=-1) {                String param = keyValue.substring(p + 1);                                String v = ParamUtil.get(request, param);                if (v.equals("")) {                    v = (String)request.getAttribute(param);                    if (v==null)                        v = "";                }                return v;            }        }        return "";    }    public String getKeyValue() {        return keyValue;    }    public String getField() {        return field;    }        public void parseProps(String propsStr) {                String[] propPairs = StrUtil.split(propsStr, ",");        if (propPairs==null)            return;        int len = propPairs.length;        for (int i=0; i<len; i++) {            String str = propPairs[i];            String[] pair = StrUtil.split(str, "=");            if (pair!=null) {                if (pair.length<2) {                    LogUtil.getLog(getClass()).error("parseProps: propsStr=" + propsStr + " len=" + pair.length + " format error.");                }                else                    props.put(pair[0].trim().toLowerCase(), pair[1].trim());            }        }    }    public String getProperty(Object obj) {        BeanUtil bu = new BeanUtil();        return format(bu.getProperty(obj, field), props);    }        public static String formatDate(Date date, HashMap props) {        String d = StrUtil.getNullStr((String) props.get("date"));        boolean isDate = d.equals("true") || d.equals("yes");        if (!isDate)            return "";        String dateFormat = (String) props.get("dateFormat");        if (dateFormat == null) {            dateFormat = "yy-MM-dd";        }        String dateAlign = (String)props.get("dateAlign");        String str = "";        boolean isRight = dateAlign.equals("right");        if (isRight)            str += "<span style='float:right'>";        str += DateUtil.format(date, dateFormat);        if (isRight)            str += "</span>";        return str;    }        public static String format(Object value, HashMap props) {        if (value==null)            return null;        if (props==null || props.size()==0)            return value.toString();        if (value instanceof String) {            String v = (String)value;                        String strLen = (String)props.get("len");                        if (strLen!=null) {                if (!StrUtil.isNumeric(strLen))                    throw new IllegalArgumentException(strLen + " is not a number");                int len = Integer.parseInt(strLen);                v = StrUtil.getLeft(v, len);            }            String urlencode = (String)props.get("urlencode");            if (urlencode!=null) {                try {                    v = URLEncoder.encode(v, urlencode);                }                catch (java.io.UnsupportedEncodingException e) {                    LogUtil.getLog(VarPart.class).error(e.getMessage());                }            }            String htmlencode = (String)props.get("htmlencode");            if (htmlencode!=null) {                if (htmlencode.equals("y"))                    v = StrUtil.toHtml(v);            }            return v;        }        else if (value instanceof Date) {            String v = "";            String format = (String)props.get("format");            if (format!=null) {                v = DateUtil.format((Date)value, format);            }            else                v = DateUtil.format((Date)value, "yyyy-MM-dd HH:mm:ss");            return v;        }        else            return value.toString();    }    public String keyName;    public String keyValue;    public String field;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?