jmte 模版引擎
  TEZNKK3IfmPf 2023年11月14日 16 0

jmte 是一个简单,但是高效的模版引擎,graylog 对于通知的处理就使用了此模版引擎,使用简单,而且比较灵活

  • 流程
    创建引擎,注册类型渲染(不是必须的),使用tranform 进行渲染处理
  • 参考代码MyRenderDemo
MyRenderDemo

public class MyRenderDemo {
static Engine engine ;
static {
engine = Engine.createEngine();
engine.registerRenderer(User.class,new MyRender());
}
public static <T> String render(String template, Map<String,Object> context) {
return engine.transform(template,context);
}
}
MyRender

public class MyRender implements Renderer<User> {
@Override
public String render(User o, Locale locale, Map model) {
return String.format("%d----------%s------%s",o.getAge(),o.getName(),o.getExtend());
}
}
main 入口

String template = "======= ";
String template2 = "{\n" +
"\"nane\":\"\",\n" +
"\"age\":,\n" +
" \"extend\":\"\"\n" +
"}";
String template3 ="\n" +
" <em></em>\n" +
" <em></em>\n" +
"";
Map<String,Object> extendMsg = new HashMap<>();
extendMsg.put("type","local message");
Map<String,Object> context = new HashMap<>();
User user = new User();
user.setExtend(extendMsg);
user.setAge(333);
user.setConf(Arrays.asList(new Conf("ddd","333"),new Conf("rrrr","5555")));
user.setName("33333");
context.put("user",user);
String result = MyRenderDemo.render(template,context);
System.out.println(result);
String result2 = MyRenderDemo.render(template2,context);
System.out.println(result2);
String result3 = MyRenderDemo.render(template3,context);
System.out.println(result3);
  • 效果

jmte 模版引擎

 

 

说明

jmte 使用简单,支持的基本逻辑操作还是不少的,比如if foreach, 而且支持比较强大的自定义处理,对于cms 系统或者营销系统来说都是不错的选择

参考资料

​​https://www.tinymediamanager.org/docs/jmte​​​
​​​https://github.com/DJCordhose/jmte​​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

TEZNKK3IfmPf