Cq5 – how to get key / value from Java use class HashMap

I have a basic Java usage class object that extends wcmuse and a simple HashMap method - in obvious code - I have something similar

${} item

${} item. key

${} item. value

Not working – how to return key / value pairs in obvious code

Solution

There is an example at visibility intro Part 3. AEM docs visibility page records the use of ${item} and ${itemlist} as variables This page also provides the following examples for accessing dynamic values:

<dl data-sly-list.child="${myObj}">
<dt>key: ${child}</dt>
<dd>value: ${myObj[child]}</dd>
</dl>

This is a simple HashMap example

HTML with visibility:

<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;
    }
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>