L oop через hashmap и используйте ключ для доступа к другому hashmap внутри - PullRequest
0 голосов
/ 20 января 2020

Я создаю портлет liferay jsf, который содержит несколько окон selectmanycheckbox. Для каждого флажка выбора есть 2 списка. Первый предназначен для хранения видимых элементов, а второй содержит выбранные элементы. Он должен работать динамически, поэтому я хранил списки для блоков selectmanycheckbox в двух отдельных хэш-картах.

Я перебираю первую хэш-карту для отображения данных (все в порядке). Но затем в selectManyCheckbox я хочу получить доступ ко второй Hashmap для выбранных элементов с помощью ключа от foreach l oop (это не работает).

Есть ли способ доступа ко второй 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> 

1 Ответ

0 голосов
/ 20 января 2020

Хорошо, я решил свою проблему.

Решение:

Ключи для foreach l oop должны быть строковыми, а не целыми.

...