好用的占位符替换工具类spring—PropertyPlaceholderHelper

PropertyPlaceholderHelper

说明

PropertyPlaceholderHelper 可以替换${key}、{key} 各式各样的占位符,是一个比较好用的字符串替换占位符的工具类,例如:替换短信模板信息,邮件模板信息,xml报文模板信息等。

示例

这里以xml 报文为例

import org.springframework.util.PropertyPlaceholderHelper;
import org.springframework.util.StringUtils;

import java.util.HashMap;
import java.util.Map;


public class Utils {


    /**
     * 替换 xml字符串中 ${aaa}
     * @param xmlContent  字符串模板
     * @param map map
     * @return
     */
    public static String replaceXmlElementValue(String xmlContent, Map<String, String> map){
        if(!StringUtils.hasText(xmlContent)){
            return xmlContent;
        }
        //定义${开头 ,}结尾的占位符
        PropertyPlaceholderHelper propertyPlaceholderHelper = new PropertyPlaceholderHelper("${", "}");
       //调用替换
        return propertyPlaceholderHelper.replacePlaceholders(xmlContent, map::get);
    }

    public static void main(String[] args)  {
        Map<String ,String>  map = new HashMap<>();
        map.put("id","123123123");
        map.put("name","如花");
        map.put("age","18");
        String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
                "<tx>\n" +
                "  <txbody>\n" +
                "    <id>${id}</id>\n" +
                "    <name>${name}</name>\n" +
                "    <age>${age}</age>\n" +
                "  </txbody>\n" +
                "</tx>";
        String nxmlContent = replaceXmlElementValue(content, map);
        System.out.println(nxmlContent);
    }
}

输出内容

<?xml version="1.0" encoding="UTF-8"?>
<tx>
  <txbody>
    <id>123123123</id>
    <name>如花</name>
    <age>18</age>
  </txbody>
</tx>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值