fieldpart.java
来自「cwbbs 云网论坛源码」· Java 代码 · 共 84 行
JAVA
84 行
package com.cloudwebsoft.framework.template;import com.cloudwebsoft.framework.util.BeanUtil;import com.cloudwebsoft.framework.util.LogUtil;import cn.js.fan.util.StrUtil;import java.util.HashMap;import java.util.regex.Pattern;import java.util.regex.Matcher;import javax.servlet.http.HttpServletRequest;import java.util.List;public class FieldPart implements ITemplate { String name; String parentName; String subField; HashMap props = new HashMap(); public FieldPart(String fieldString) { Pattern varNamePat2 = Pattern.compile( "\\@([^\\(\\.]+)(\\.([^\\(]+))?(\\((.*?)\\))?", Pattern.DOTALL | Pattern.CASE_INSENSITIVE); Matcher m = varNamePat2.matcher(fieldString); if (m.find()) { name = m.group(1); if (m.groupCount()>=3) { subField = StrUtil.getNullStr(m.group(3)); } if (m.groupCount()>=5) { String propStr = StrUtil.getNullStr(m.group(5)); parseProps(propStr); } } } public String toString(HttpServletRequest request, List param) { return name; } public Object write(Object obj) { BeanUtil bu = new BeanUtil(); if (subField.equals("")) { return VarPart.format(bu.getProperty(obj, name), props); } else { return VarPart.format(bu.getProperty(bu.getProperty(obj, name), subField), props); } } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setParentName(String parentName) { this.parentName = parentName; } public String getParentName() { return parentName; } 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) { props.put(pair[0].trim().toLowerCase(), pair[1].trim()); } } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?