Alguém sabe como posso acessar Maps em propriedades numa tabela do DisplayTag?
Por exemplo, assumindo que eu tenha a seguinte classe:
class A {
Map<String, String> getAttributes() {
// implementação
}
}
Os meus dados a ser exibidos estão numa variável chamada “results” numa List de objetos A. Eu tenho uma segunda lista, de strings, a qual contém as chaves para o Map retornado pelo método getAttributes da classe A (essa lista está na variável “headers”).
Minha tabela irá conter um número dinâmico de colunas (= size da lista headers)…
Eu já consegui mostrar a tabela com as colunas direitinho, mas não consegui mostrar cada valor do Map em sua coluna. O código que eu estou tentando fazer funcionar é tipo o abaixo:
<display:table name="results">
<c:forEach var="header" items="${headers}">
<display:column property="attributes[${header}]" title="${header}"/>
</c:forEach>
</display:table>
Nesse código, é acessada a propriedade attributes (pelo método getAttributes) de cada objeto da classe A, mas a sintaxe para acessar o valor no Map não é essa (estou fazendo “attributes[${header}]”).
Alguém poderia ajudar?
um abraço