pom.xml里加入如下依赖:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-text</artifactId> <version>1.8</version> </dependency> public class Placeholder { public static void main(String[] args) { // 短信模板 String template = "${userName}您好,欢迎使用${system},您的验证码是:${code},若非本人操作,请忽略!"; // 占位符对应的值 Map<String,String> valueMap = new HashMap<>(); valueMap.put("userName","阿杰"); valueMap.put("system","查询系统"); valueMap.put("code","666666"); StringSubstitutor sub = new StringSubstitutor(valueMap); String replace = sub.replace(template); System.out.println(replace); // 阿杰您好,欢迎使用查询系统,您的验证码是:666666,若非本人操作,请忽略! } }
自定义占位符的前后缀
public class Placeholder { public static void main(String[] args) { // 短信模板 String template = "#userName#您好,欢迎使用#system#,您的验证码是:#code#,若非本人操作,请忽略!"; // 占位符对应的值 Map<String,String> valueMap = new HashMap<>(); valueMap.put("userName","阿杰"); valueMap.put("system","查询系统"); valueMap.put("code","666666"); // 构造方法 StringSubstitutor(Map<String, V> valueMap, String prefix, String suffix) StringSubstitutor sub = new StringSubstitutor(valueMap,"#","#"); String replace = sub.replace(template); System.out.println(replace); // 阿杰您好,欢迎使用查询系统,您的验证码是:666666,若非本人操作,请忽略! } } public class Placeholder { public static void main(String[] args) { // 短信模板 String template = "#userName#您好,欢迎使用#system#,您的验证码是:#code#,若非本人操作,请忽略!"; // 占位符对应的值 Map<String,String> valueMap = new HashMap<>(); valueMap.put("userName","阿杰"); valueMap.put("system","查询系统"); valueMap.put("code","666666"); StringSubstitutor sub = new StringSubstitutor(); // 使用静态方法传入自定义的占位符前后缀 String replace = sub.replace(template,valueMap,"#","#"); System.out.println(replace); // 阿杰您好,欢迎使用查询系统,您的验证码是:666666,若非本人操作,请忽略! } }