Aem 如何从java use类hashmap中获取密钥/值
我有一个扩展WCMUSE的基本java use类对象和一个简单的hashmap方法(在代码中),我有 ${item} ${item.key} ${item.value} 不起作用-如何在sightly代码中返回键/值对中有一个示例,并且${item}和${itemList}作为变量的使用记录在上。本页还提供了访问动态值的以下示例:Aem 如何从java use类hashmap中获取密钥/值,aem,sightly,Aem,Sightly,我有一个扩展WCMUSE的基本java use类对象和一个简单的hashmap方法(在代码中),我有 ${item} ${item.key} ${item.value} 不起作用-如何在sightly代码中返回键/值对中有一个示例,并且${item}和${itemList}作为变量的使用记录在上。本页还提供了访问动态值的以下示例: <dl data-sly-list.child="${myObj}"> <dt>key: ${child}</dt> <dd
<dl data-sly-list.child="${myObj}">
<dt>key: ${child}</dt>
<dd>value: ${myObj[child]}</dd>
</dl>
键:${child}
值:${myObj[child]}
下面是一个简单的HashMap示例
HTML格式,带有:
<div data-sly-use.myClass="com.test.WcmUseSample" data-sly-unwrap>
<ul data-sly-list.keyName="${myClass.getMyHashMap}">
<li>KEY: ${keyName}, VALUE: ${myClass.getMyHashMap[keyName]}</li>
</ul>
</div>
- 键:${keyName},值:${myClass.getMyHashMap[keyName]}
爪哇:
package.com.test;
导入java.util.HashMap;
导入java.util.Map;
导入com.adobe.cq.sightly.WCMUse;
公共类WcmUseSample扩展了WCMUse{
私有映射myHashMap;
public void activate()引发异常{
myHashMap=新HashMap();
对于(int i=0;i<10;++i){
myHashMap.put(“+i,”Hello“+i);
}
}
公共映射getMyHashMap(){
返回myHashMap;
}
}
您也可以尝试以下方法(AEM 6.4):
注意emptycheck的数据测试.hashMap
<div data-sly-use.pageController="com.corp.wcms.core.pages.anypage.PageController"
<div data-sly-test.hashMap="${pageController.myHashMap}" data-sly-unwrap>
<ul data-sly-list.keyName="${hashMap}">
<li>KEY: ${keyName}, VALUE: ${hashMap[keyName]}</li>
</ul>
</div>
</div>
data-sly-use.myClass周围的div不是必需的。应尽可能避免创建通过数据展开再次移除的元素,以使模板标记尽可能接近生成的标记。因此,data-sly-use.myClass应该放在UL元素上。@JohnKepler这可能只适用于没有字符串键的HashMaps吗?(例如,Map
触发器SlingException:无效的属性名称
)
<div data-sly-use.pageController="com.corp.wcms.core.pages.anypage.PageController"
<div data-sly-test.hashMap="${pageController.myHashMap}" data-sly-unwrap>
<ul data-sly-list.keyName="${hashMap}">
<li>KEY: ${keyName}, VALUE: ${hashMap[keyName]}</li>
</ul>
</div>
</div>