我正在尝试创建下表。
我已将def verify(data: File): Boolean = {
val signedData = new CMSSignedData(new CMSProcessableFile(data), Base64.decode(this.value))
val certStore = signedData.getCertificates.asInstanceOf[Store[X509CertificateHolder]]
val signers = signedData.getSignerInfos.getSigners
val signer = signers.iterator.next
val certs = certStore.getMatches(signer.getSID.asInstanceOf[Selector[X509CertificateHolder]])
val cert = certs.iterator.next
signer.verify(new JcaSimpleSignerInfoVerifierBuilder().setProvider("BC").build(cert))
}
传递给车把(PS。我可以重构这个物体。我应该吗?)。
o
根据http://handlebarsjs.com/builtin_helpers.html,我可以通过var o={
years:[1800,1900,2012],
countries:["Africa","America","Asia","Europe","Oceania"],
data:[
[107,133,1052],
[null,156,954],
[635,null,4250],
[203,408,740],
[2,6,38]
]
};
访问索引。但由于我有两个循环,如何访问它们以便我可以获得正确的数据?
{{@index}}
答案 0 :(得分:0)
首先,{{#each years}}
将与{{#years}}
具有相同的结果。后一种形式来自Mustache,是图书馆称为Section的形式。 Handlebars文档解释了differences between Handlebars block expressions and Mustache Sections。
您无法在{{#each data}}
循环中使用{{#each countries}}
的原因是因为国家/地区循环中的数据上下文是当前的国家/地区迭代。您必须访问父作用域才能访问data
对象。这是通过Handlebars paths完成的,并将写为{{../data}}
。
但是,在我们的场景中,我们希望获取data
的特定元素,其索引与当前国家/地区迭代的索引相匹配。为此,我们可以使用lookup helper。结果如下:
<table>
<thead>
<tr>
<th></th>
{{#each years}}
<th>{{this}}</th>
{{/each}}
</tr>
</thead>
<tbody>
{{#each countries}}
<tr>
<td>{{this}}</td>
{{#each (lookup ../data @index)}}
<tr>
<td>{{this}}</td>
</tr>
{{/each}}
</tr>
{{/each}}
</tbody>
</table>