[英]JSF Repeat nog showing value in checkbox
我正在將由對象+布爾值組成的哈希圖傳遞到我的視圖中,我想顯示每個對象的布爾值,並且當前具有以下代碼:
<ui:repeat var="item" value="#{userTypeController.permissionItems}">
<h:outputText value="#{item}" />
<h:selectBooleanCheckbox value="#{userTypeController.checkMap[item]}"/>
</ui:repeat>
和Hashmap方法:
public Map<Permission, Boolean> getCheckMap() {
checkMap = null;
for (Permission p : getPermissionItems()) {
if (getPermissionItemsUserType().contains(p))
checkMap.put(p, Boolean.TRUE);
else
checkMap.put(p, Boolean.FALSE);
System.out.println(checkMap.get(p).toString());
}
return checkMap;
}
這應該工作,並且在system.out.println期間,我看到了真實的輸出...
但是,復選框本身從未被選中...對我在這里做錯的任何想法嗎?
您描述的症狀與Mojarra錯誤1807相匹配, 該錯誤恰巧是在2.1.1中修復的,並在2.1.4中已正式修復。 因此,應該將 Mojarra 升級到至少2.1.1。
請注意,您的代碼中存在一個重大錯誤。 您無處實例化checkmap
,它將拋出NullPointerException
,盡管這似乎過分簡化了該問題的代碼。 此外,在吸氣劑中進行此操作也是一個壞主意。 它應該在(post)構造或事件偵聽器方法期間完成。 在渲染響應期間,可以多次調用一個吸氣劑。 另請參見為什么JSF多次調用getter 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.