相关疑难解决方法(0)

ui:repeat不适用于Map

我有一个Map键/值,我初始化@PostConstruct如下:

Map<String, String> myMap;

@PostConstruct
public void init() {

  myMap=new LinkedHashMap<String, String>();
  myMap.put("myKey","myValue");

}

public Map<String, String> getMyMap() {
    return myMap;
}

public void setMyMap(Map<String, String> myMap) {
    this.myMap = myMap;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试用<ui:repeat>如下所示的迭代迭代这个Map时,我在Map的getter上设置了一个断点,我注意到它没有被调用,所以没有打印出来:

<ice:panelGroup>
    <ui:repeat items="#{myBean.myMap}" var="entry" varStatus="loop">
        <input type="checkbox" name="myCheckBoxes" value="#{entry.value}" />
        <span class="#{fn:contains(entry.value,'g') ? 'bold-style' : ''}">#{entry.key}</span>
    </ui:repeat>
</ice:panelGroup>
Run Code Online (Sandbox Code Playgroud)

但是当替换上面的代码时<c:foreach>,一切正常,并且列表按预期打印,任何想法为什么我会得到这样的行为?

jsf icefaces jsf-2 icefaces-2

22
推荐指数
4
解决办法
2万
查看次数

标签 统计

icefaces ×1

icefaces-2 ×1

jsf ×1

jsf-2 ×1