遍历哈希图,并使用键访问其中的另一个哈希图

问题描述 投票:0回答:1

我正在构建一个liferay jsf portlet,其中包含一些selectmany复选框。对于每个选择复选框,都有2个列表。第一个用于存储可见元素,第二个包含所选元素。它应该是动态工作的,这就是为什么我将selectmanycheckbox的列表存储在两个单独的哈希图中。

我正在遍历第一个哈希图以显示数据(工作正常)。但是然后在selectManyCheckbox中,我想用来自foreach循环的键访问所选元素的第二个Hashmap(不起作用)。

是否有一种方法可以从第一个哈希表中访问密钥中的第二个哈希图?

感谢您的帮助

          <c:forEach var="column" items="#{ListView.columns}">
                <td>
                    <div>
                        <div style="margin-bottom:1em;">
                            <h3>Column #{column.key}</h3>
                            <p:commandButton value="Hinzufügen" actionListener="#{ListView.addFromSelected}" update="@form">
                                <f:attribute name="destination" value="#{column.key}" />
                                <f:attribute name="origin" value="0" />
                            </p:commandButton>
                        </div>
                        <table>
                            <tr>
                                <td>
                                    <div style="background-color:white; border:1px solid lightgray; overflow-y:scroll; min-height:200px; max-height:200px;">
                                        <p:selectManyCheckbox value="#{ListView.selectedColumns[column.key]}" layout="grid" columns="1">
                                            <f:selectItems value="#{column.value}" var="block" itemLabel="#{block.name}" itemValue="#{block.id}" />
                                        </p:selectManyCheckbox>
                                    </div>
                                </td>
                            </tr> 
                        </table>
                    </div>
                </td>
            </c:forEach> 
jsf hashmap xhtml jstl
1个回答
0
投票

好,我解决了自己的问题。

解决方案:

foreach循环的键必须是字符串类型,而不是整数。

© www.soinside.com 2019 - 2024. All rights reserved.