我有一个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>,一切正常,并且列表按预期打印,任何想法为什么我会得到这样的行为?
我使用ace:fileEntry组件上传文件,成功上传后,我得到的消息是:
'File Entry' uploaded successfully 'filename'.
Run Code Online (Sandbox Code Playgroud)
我想覆盖此消息并显示其他消息(某种解析上传文件的摘要),任何想法如何?
这是我的代码:
<h:form>
<ace:fileEntry id="fileEntryComp"
label="File Entry"
relativePath="uploaded"
fileEntryListener="#{mybean.uploadFile}"/>
<h:commandButton value="Upload Excel File" />
<h:message for="fileEntryComp" />
</h:form>
Run Code Online (Sandbox Code Playgroud)