java - 仅当 Mustache Java 中的 Map 中存在值时才打印列表

标签 java mustache

我希望仅在项目存在时打印列表。我可以执行以下操作,这将打印出列表项(如果存在)。

<ul>
{{#myList}}
<li>{{value}}</li>
{{/myList}}
</ul>

但是,如果列表为空,我不想打印 <ul></ul>标签也可以。我可以通过向我的上下文添加另一个属性 context.isEmpty = myList.isEmpty(); 来实现此目的但我想避免这种情况 - 列表本身已经有一个 isEmpty()在上面,有什么方法可以引用吗?

这可能是 Mustache Java 吗?

最佳答案

我必须遵循此处描述的内容:https://groups.google.com/forum/#!topic/mustachejava/UmVGdNtjlpM

DefaultMustacheFactory factory = new DefaultMustacheFactory(); 
factory.setObjectHandler(new ReflectionObjectHandler() { 
  @Override 
  protected boolean areMethodsAccessible(Map<?, ?> map) { 
    return true; 
  } 
}); 

{{#job.userMetadata.entrySet}} 
  <tr> 
    <td>{{key}}</td> 
    <td>{{value}}</td> 
  </tr> 
{{/job.userMetadata.entrySet}} 

关于java - 仅当 Mustache Java 中的 Map 中存在值时才打印列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39826507/

相关文章:

java - 是否可以通过 webdriver 发送 POST 变量?

java - java servlet 中的 mustache 模板放置位置以及如何查找

javascript - 将 Moustache/Handlebars 模板与 HAML 混合使用是个好主意吗?

javascript - 如何限制 mustache 的迭代

javascript - 如何在 mustache.js 中完成 if/else?

java - 如何在 Selenium 2 中选择/获取下拉选项

java - 如何在 QuickFix 上发送和接收消息?

java - 如何正确使用JUnit的assertThat?

java:抛出多个异常

arrays - mustache - 如何检测数组不为空?