DisplayTag e uso de Maps como properties

0 respostas
Alexandre_Gazola

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

Criado 25 de novembro de 2007
Respostas 0
Participantes 1