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>