当前位置: 首页 > 软件库 > 程序开发 > 模板引擎 >

JMustache

mustache 的 Java 实现
授权协议 BSD
开发语言 Java
所属分类 程序开发、 模板引擎
软件类型 开源软件
地区 不详
投 递 者 江向阳
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

jmustache 是 Mustache 模板引擎的java实现。

  • 零依赖性。可以在项目中包含该单个微型库,然后开始使用模板。

  • 在各种目标平台上的可用性。另一种Java Mustache实现要求需要Java编译器才能将模板编译为Java类。此实现没有任何此类要求,因此可在Android或其他无法使用Java编译器的令人兴奋的地方使用。如果需要,甚至可以避免使用反射,并将所有数据作为一系列嵌套Maps提供。

  • ProguardJarJar 友好。尽管该库将以反射方式访问您的数据(如果需要),但该库在反射或类的名称实例化方面没有其他内部用途。因此,您可以使用Proguard或JarJar嵌入它,而不会出现任何令人讨厌的惊喜。

  • 最小的API占用空间。您实际上只需要知道两种方法:compile和 execute。在性能无关紧要的情况下,您甚至可以将它们链接在一起。

  • 可通过Maven Central使用,详情请参见下文。
  • 它表现合理。模板与执行分开解析。模板会将其变量专门用于(上下文的类,名称)对,因此,如果首先将变量解析为(例如)上下文对象的字段,则将在随后的模板调用时直接尝试使用该变量,而较慢的完全调用仅当字段访问变量失败时,才尝试解析。

使用方法:

String text = "One, two, {{three}}. Three sir!";
Template tmpl = Mustache.compiler().compile(text);
Map<String, String> data = new HashMap<String, String>();
data.put("three", "five");
System.out.println(tmpl.execute(data));
// result: "One, two, five. Three sir!"

示例2:

class Person {
    public final String name;
    public Person (String name, int age) {
        this.name = name;
        _age = age;
    }
    public int getAge () {
        return _age;
    }
    protected int _age;
}

String tmpl = "{{#persons}}{{name}}: {{age}}{{/persons}}\n";
Mustache.compiler().compile(tmpl).execute(new Object() {
    Object persons = Arrays.asList(new Person("Elvis", 75), new Person("Madonna", 52));
});

// result:
// Elvis: 75
// Madonna: 52
  • jmustache 是 Mustache 模板引擎的java实现。 零依赖性。可以在项目中包含该单个微型库,然后开始使用模板。 在各种目标平台上的可用性。另一种Java Mustache实现要求需要Java编译器才能将模板编译为Java类。此实现没有任何此类要求,因此可在Android或其他无法使用Java编译器的令人兴奋的地方使用。如果需要,甚至可以避免使用反射,并将所有数据作为一系列嵌套Map

  • 软件介绍 jmustache 是 Mustache 模板引擎的java实现。 使用方法:String text = "One, two, {{three}}. Three sir!"; Template tmpl = Mustache.compiler().compile(text); Map data = new HashMap(); data.put("three", "five"); Sys

  • (这几个指令除了mustache,其它的基本用不上) 1、Mustache mustache(胡子语法) 语法,就是 双大括号 {{}} {{}} 里面可以写 变量 也可以写 表达式 ,也可以简单的运算 <h3>{{message}}</h3> <!-- 这里就是直接输出message,message是可变的 --> <h3>{{firstName}},wang</h3> <!-- 这里 fir

 相关资料
  • 问题内容: 标准api不包含AtomicBitSet实现。我可以将自己放在AtomicIntegerArray之上,但也不要这样做。 是否有人知道根据与Apache 2兼容的许可证发布的现有实现?我只需要基本操作即可设置和检查位。 编辑: 代码是性能和内存的关键,因此我想避免同步或每个标志使用整数(如果可能)。 问题答案: 我将使用AtomicIntegerArray,并且每个整数将使用32个标志

  • 问题内容: SCIM是Google,Salesforce,Ping Identity..etc等提出的用于用户配置的新标准。是否存在现有的Java实现来支持此功能? 问题答案: WSO2 Charon是另一个基于Java的SCIM实现。 http://www.slideshare.net/HasiniG/wso2-charon

  • 我正在使用IBM JRE,我想为我的密码实现PBEWithSHAAnd128BitRC4算法,所以我应该为我的SecretKeyFactory和SecretKeySpec使用哪种算法,下面是我从Provider.getInfo()方法为IBMJCE Provider获得的支持algos的密钥。 多谢了。

  • 我是新来的,所以请原谅我的小错误。我目前正在做一个我的小项目,看到我处理长度在四万或更多的数字。 我目前正在使用BigInteger来处理这些值,我需要一些执行速度更快的东西。我读到BigInteger在其实现中使用了一个整数数组,我需要知道的是BigInteger是使用这个数组中的每个索引来表示每个小数点,就像1-9一样,还是使用了更有效的方法。 我这么问是因为我已经想到了一个使用位操作的实现,

  • 标准api不包括原子位集实现。我可以在AtomicIntegerArray上滚动我自己的,但我不太喜欢。 有人知道在与Apache 2兼容的许可下发布的现有实现吗?我只需要基本操作来设置和检查位。 编辑: 代码对性能和内存都很关键,所以如果可能的话,我希望避免同步或每个标志一个整数。

  • 我是Qpid的新手,我正在尝试设置环境。在阅读了大量文档之后,我设法下载了Apache Qpid并在localhost:8080中运行它 我还安装了maven、cmake。现在我正在尝试在Eclipse中启动一个新的maven项目以发送一条简单的消息。我根本不熟悉API接口和概念。我必须在我的项目解决方案中包含任何类型的jar吗?或者我如何使用服务器? 我也找到了这个https://github.

  • 问题内容: 是否有针对JAX-WS RI,Axis2,CXF或其他工具包的WS-Discovery规范的任何实现? 问题答案: 我知道的唯一Java实现是以下一种:http : //code.google.com/p/java-ws-discovery/ Wiki中有JAX-WS示例。

  • 问题内容: 是否有经过验证的Java Pair类实现? 我的意思是随时可用,被广泛接受并经过测试,也许是更广泛的库(例如Apache Commons或Guava)的一部分。 问题答案: 是的,看看Apache Commons 。 尽量少用, 如果在所有 ; 并没有真正传达元素之间的内容或关系的任何信息。 (该类被故意遗漏在标准Java API中。)