我有一个基本的java使用类对象,它扩展了WCMUSE和一个简单的hashmap方法 - 在明显的代码中 - 我有类似的东西
$ {项}
$ {item.key}
$ {item.value}
不起作用 - 如何在明显的代码中返回键/值对
答案 0 :(得分:11)
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示例。
HTML with Sightly:
<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>
爪哇:
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;
}
}
答案 1 :(得分:0)
You can also try the following (AEM 6.4) :
Note the data-sly-test.hashMap
for emptycheck.
<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>