在java中使用groovy的SimpleTemplateEngine獲取佔位符${}的值

在實際項目中,也許有這樣的需求,在方法上配置切面Aspect來蒐集日誌,或者業務數據落庫。就需要配置佔位符來統一處理了,下面是demo,僅供參考學習。

main方法:

public static void main(String[] args) throws IOException, ClassNotFoundException {
        Map<String,Object> map = new HashMap<>();
        //添加普通變量
        map.put("name","張三");

        UserDo userDo  = new UserDo();
        userDo.setUserName("李四");
        userDo.setAge(18);

        //添加域對象
        map.put("user",userDo);
        Object name = new SimpleTemplateEngine().createTemplate("${name}").make(map);

        //佔位符在實際項目中,用來取值,比如,切面的返回值,Object user = joinPoint.proceed();
        String placeHolder = "${user.userName}";
        Object userName = new SimpleTemplateEngine().createTemplate(placeHolder).make(map);
        Object age = new SimpleTemplateEngine().createTemplate("${user.age}").make(map);
        String ss = Optional.ofNullable(name.toString()).orElse("");
        System.out.println(ss);

        System.out.println(userName);
        System.out.println(age);
    }

 pom座標:

<dependency>
  <groupId>org.codehaus.groovy</groupId>
  <artifactId>groovy-all</artifactId>
  <version>2.4.15</version>
</dependency>

 

 執行結果: 

張三
李四
18

 

發佈了172 篇原創文章 · 獲贊 67 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章