添加Maven依賴
<!-- https://mvnrepository.com/artifact/org.antlr/stringtemplate -->
<dependency>
<groupId>org.antlr</groupId>
<artifactId>stringtemplate</artifactId>
<version>4.0.2</version>
</dependency>
編寫String Template Group文件(筆者放在了resources/templates目錄下,文件命名爲templates.stg):
AddMember(operator,groupName) ::= << <operator>把你添加進<groupName> >>
DeleteMember(operator,groupName) ::= << <operator>把你從<groupName>中刪除 >>
用模版生成字符串:
package cn.superid.templates;
import org.stringtemplate.v4.ST;
import org.stringtemplate.v4.STGroup;
import org.stringtemplate.v4.STGroupFile;
/**
* @author
* @create: 2018-08-13 19:09
*/
public class TemplateTest {
public static void main(String[] args) {
//group file templates.stg 位於resources/templates目錄下
STGroup group = new STGroupFile("templates/templates.stg");
ST st1 = group.getInstanceOf("AddMember");
st1.add("operator", "張三丰");
st1.add("groupName", "武當派");
String result1 = st1.render();
System.out.println("result1 = " + result1);
ST st2 = group.getInstanceOf("DeleteMember");
st2.add("operator", "張無忌");
st2.add("groupName", "明教");
String result2 = st2.render();
System.out.println("result2 = " + result2);
}
}
運行程序的控制檯輸出爲:
result1 = 張三丰把你添加進武當派
result2 = 張無忌把你從明教中刪除