【问题标题】:p:booleanCheckBox save value to mapp:booleanCheckBox 保存值到地图
【发布时间】:2016-04-06 07:14:34
【问题描述】:

我正在尝试将 booleanSelectBoxes 的值保存到地图中。

在我的 bean 中,我有这张地图(肯定有 getter + setter):

private Map<String, Boolean> selectedPermissions;

我默认在我的bean中填充地图,然后看起来像这样:

{0;0=false, 0;1=false, 0;2=false, 1;0=false, 1;1=false, 1;2=false}

我的看法:

<ui:repeat var="document" value="#{group.documents.entrySet().toArray()}"> 
    <ui:repeat var="right" value="#{group.rights.entrySet().toArray()}"> 
        <p:selectBooleanCheckbox value="
         #{GroupBean.selectedPermissions[#{right.value};#{document.value}]}" />
    </ui:repeat>
 </ui:repeat>

right 和 document 都是以字符串为键、字符串为值的树形图。

我的问题是 booleanCheckBox 的值。我找不到将 right 和 document 的值与分号结合起来的方法。我总是得到一个 NumberFormatException。

根据这篇文章,使用地图作为值应该不是问题:How to map the value of a h:selectBooleanCheckbox in a h:dataTable within a h:dataTable?

但是,在 selectedPermissions 映射中找到关联键并设置其值的 checkboxValue 的正确语法是什么?

【问题讨论】:

    标签: primefaces


    【解决方案1】:

    发现问题。您需要在视图中将字符串与 concat 链接,所以这个有效:

    <ui:repeat var="document" value="#{group.documents.entrySet().toArray()}"> 
        <ui:repeat var="right" value="#{group.rights.entrySet().toArray()}"> 
            <p:selectBooleanCheckbox value="
             #{GroupBean.selectedPermissions[(right.value).concat(';').concat(document.value)]}" />
        </ui:repeat>
     </ui:repeat>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-20
      • 2019-05-28
      • 2013-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多