StringTemplate Demo

添加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 =  張無忌把你從明教中刪除 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章