У меня есть список ключей, скажем, 'ListA'. И карта ключей и список говорят «MapA». Мне нужно повторить «ListA» и для каждого ключа нужно получить его значение из «MapA». И эти значения служат моделью для dataTable.
Для этой цели я использую h:datatable внутри ui:repeat.
<ui:repeat var="entry" value="#{bean.sampleDTO.sampleList}"
varStatus="row">
<tr>
<td>#{entry.key}</td>
<td><h:datatable value="#{bean.map[#{entry.key}]}" var="row">
<h:column>
// something
</h:column>
</h:datatable></td>
</tr>
</ui:repeat>
Обратите внимание на значение datatable:
value="#{bean.map[#{entry.key}]}"
Проблема в том, что ключ является переменной, которую я получаю из #{entry.key}. #{bean.map[#{entry.key}]} является недопустимым выражением EL, так как 2 # нельзя использовать.
Спасибо, Тарун Мадаан