工具类 - 动态的内容替换,工具类替换,import java.
分享于 点击 34984 次 点评:247
工具类 - 动态的内容替换,工具类替换,import java.
import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;import ognl.Ognl;import org.apache.log4j.Logger;public class ReplacePpContent { /** * 日志操作类 */ private static final Logger logger = Logger.getLogger(ReplacePpContent.class); /** * 替换动态参数 * @param paraMap * @return Exception */ public static String replacePara(Map<String, Object> paraMap) { // 得到替换的内容 String CONTENT = (String) paraMap.get("CONTENT"); logger.debug("SCRIPT CONTENT :" + CONTENT); // 得到动态参数的map Map PARAMETER_MAP = (Map) paraMap.get("PARAMETER_MAP"); logger.debug("PARAMETER :" + PARAMETER_MAP); Pattern p = Pattern.compile("\\\\[([^\\\\[\\\\]]*?)\\\\]"); // 取中括号内任务非中括号的内容 Matcher m = p.matcher(CONTENT); String key; try { while (m.find()) { key = m.group().replace("[", "").replace("]", ""); String value = (String) Ognl.getValue("#" + key, PARAMETER_MAP, new Object()); if (value != null) { CONTENT = CONTENT.replace(m.group(), value); // 替换符号之间的内容 } } } catch (Exception e) { logger.error("ReplacePpContent Exception : " + e); } return CONTENT; }}//该片段来自于http://byrx.net
用户点评