Tôi có một Map
của khóa/giá trị, mà tôi khởi tạo trong @PostConstruct
như sau:ui: lặp lại không làm việc với Map
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;
}
Khi tôi cố gắng để lặp qua Bản đồ này với <ui:repeat>
giống như hiển thị dưới đây, và tôi đặt một điểm break trên getter cho Bản đồ, tôi nhận thấy rằng nó không phải là nhận được gọi, và vì vậy không có gì được in:
<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>
Nhưng khi thay thế trên mã với <c:foreach>
, mọi thứ hoạt động tốt, và danh sách được in như mong đợi, bất kỳ ý tưởng nào tại sao Tôi nhận được hành vi như vậy?
@ Arjan Tijms, cảm ơn vì câu trả lời tuyệt vời, BTW , làm thế nào tôi có thể bỏ phiếu cho vấn đề này? –
Tạo tài khoản và đăng nhập (thật nhanh chóng và dễ dàng), sau đó ở bên tay trái của trang, bên dưới "hoạt động" có liên kết "bỏ phiếu" ở đâu đó ở giữa danh sách liên kết. –
ít thông tin thêm về việc tạo tệp taglib mới. –