开发者

Tapestry loop through hashmap

开发者 https://www.devze.com 2022-12-22 14:38 出处:网络
I\'m trying to loop through a hashmap and display a number checkbox开发者_开发技巧es with id the key of the hashmap and label the value of the hashmap. Anyone knows how the tapestry syntax for that is

I'm trying to loop through a hashmap and display a number checkbox开发者_开发技巧es with id the key of the hashmap and label the value of the hashmap. Anyone knows how the tapestry syntax for that is?

Cheers Dimitris


You should be able to loop through the key set like this:

<form t:type="Form">
    <t:Loop t:source="myMap.keySet()" t:value="currentKey"> 
        <input type="Checkbox" t:type="Checkbox" t:id="checkbox"
            t:value="currentValue"/>
        <label t:type="Label" for="checkbox">${mapValue}</label>
    </t:Loop>
</form>

Class file:

@Property
private Object currentKey;

@Persist
private Set<String> selection = new HashSet<String>();

public Map<String,String> getMyMap() {
    ...
}

public boolean getCurrentValue() {
     return this.selection.contains(this.currentKey);
}

public void setCurrentValue(final boolean currentValue) {
    final String mapValue = this.getMapValue();

    if (currentValue) {
        this.selection.add(mapValue);
    } else {
        this.selection.remove(mapValue);
    }
}


public String getMapValue() {
    return this.getMyMap().get(this.currentKey);
}

I haven't compiled this, but it should help you get started.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号