我有一个基本的
java使用类对象,它扩展了WCMUSE和一个简单的hashmap方法 – 在明显的代码中 – 我有类似的东西
${}项
${} item.key
${} item.value
不起作用 – 如何在明显的代码中返回键/值对
解决方法
在
Sightly Intro Part 3处有一个示例,AEM Docs Sightly Page上记录了使用${item}和${itemList}作为变量.此页面还提供了以下用于访问动态值的示例:
<dl data-sly-list.child="${myObj}"> <dt>key: ${child}</dt> <dd>value: ${myObj[child]}</dd> </dl>
这是一个简单的HashMap示例.
带有Sightly的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>
Java的:
package com.test; import java.util.HashMap; import java.util.Map; import com.adobe.cq.sightly.WCMUse; public class WcmUseSample extends WCMUse { private Map<String,String> myHashMap; public void activate() throws Exception { myHashMap = new HashMap<String,String>(); for (int i = 0; i < 10; ++i) { myHashMap.put(""+i,"Hello "+i); } } public Map<String,String> getMyHashMap() { return myHashMap; } }