Java 将贴图中的值用作小胡子模板贴图中另一个值的键
我正在使用把手的Java端口。我需要创建一个A-Z列表。地图的钥匙是字母表中的一个字母。目前,我的胡子模板中有26个:Java 将贴图中的值用作小胡子模板贴图中另一个值的键,java,mustache,handlebars.js,Java,Mustache,Handlebars.js,我正在使用把手的Java端口。我需要创建一个A-Z列表。地图的钥匙是字母表中的一个字母。目前,我的胡子模板中有26个: {{#if A}}<li><a href="#a">A</a></li>{{else}}<li class="unused-letter">A</li>{{/if}} {{if A}}{{else}A{/if} 例如,我可以在“keys”键下向模型添加一个字母数组,并循环遍历结果,这将是一件好事: {{
{{#if A}}<li><a href="#a">A</a></li>{{else}}<li class="unused-letter">A</li>{{/if}}
{{if A}}{{else} A {/if}
例如,我可以在“keys”键下向模型添加一个字母数组,并循环遍历结果,这将是一件好事:
{{#keys}}
{{#if .}}<li><a href="#a">{{.}}</a></li>{{else}}<li class="unused-letter">{{.}}</li>{{/if}}
{{/keys}}
{{{#keys}
{{{if.}}{{else} {{{.}} {/if}
{{/keys}
但是,这不会检查贴图是否有与句点值匹配的键
是否有一种方法可以使用从地图中获得的值作为地图中另一个对象的键
更新信息
看着马克的条目,我可以看出我是从错误的方向来解决问题的。如果一封信没有结果,我的模型在地图上没有条目。但是,如果我更新我的模型,使一个键(字母)有一个空列表,而不是没有键/条目,那么我可以只使用地图上的键,而不是尝试使用另一个条目来提供可以表示所有可能键的值。我不确定您的索引数据格式是什么样的,假设索引是JSON格式的:
{
"items":[
{
"A":[]
},
{
"B":[
"dummy",
"dummy",
"dummy"
]
},
{
"C":[]
},
{
"D":[
"dummy",
"dummy",
"dummy"
]
},
{
"E":[]
},
{
"F":[
"dummy",
"dummy",
"dummy"
]
}
]
}
现在,要反复显示已使用/未使用的索引,需要使用如下模板:
<ul>
{{#items}}
{{#each .}}
{{#if .}}
<li><a href="#{{@key}}">{{@key}}</a></li>
{{else}}
<li class="unused-letter">{{@key}}</li>
{{/if}}
{{/each}}
{{/items}}
</ul>
{{{#项目}
{{{#每个。}
{{#如果}
{{else}
- {{@key}
{{/if}
{{/每个}}
{{/items}
上述示例数据将导致:
<ul>
<li class="unused-letter">A</li>
<li><a href="#B">B</a></li>
<li class="unused-letter">C</li>
<li><a href="#D">D</a></li>
<li class="unused-letter">E</li>
<li><a href="#F">F</a></li>
</ul>
- A
- C
- E
谢谢你,马克。从你的答复中我可以看出我是从错误的方向来处理这个问题的。如果一封信没有结果,我的模型在地图上没有条目。然而,如果我更新我的模型,使一个键(字母)有一个空列表(像你的例子)而不是没有键/条目,那么你的例子就可以工作了(如果所有的东西都在“items”的父键下)。哦,我不得不从HashMap改为LinkedHashMap,这样我就可以按字母顺序把字母取出来。