簡體   English   中英

JSF重復點此在復選框中顯示值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM