DWR desordenando meu Map

5 respostas
fabiozoroastro

Bom dia a todos.
Bom o meu método na classe java retorna:

...
map.put("01","Banana");
map.put("02","Abacaxi");
map.put("03", "Maça");
return map;

no meu js:

DWRUtil.addOptions('comboFrutas', dados);

Só que não está ordenando pela chave do map.
Está vindo desordenado o meu combo. Alguém tem alguma dica?
Abraço.

5 Respostas

cassio

fabiozoroastro:
Bom dia a todos.
Bom o meu método na classe java retorna:

...
map.put("01","Banana");
map.put("02","Abacaxi");
map.put("03", "Maça");
return map;

no meu js:

DWRUtil.addOptions('comboFrutas', dados);

Só que não está ordenando pela chave do map.
Está vindo desordenado o meu combo. Alguém tem alguma dica?
Abraço.

Em javascript não tem como garantir a ordem das propriedades de um objeto… Esse é o seu problema :slight_smile:
Você vai ter que criar um função ai em javascript que ordene pra vc pra dai definir os valores com o DWRUtil.addOptions…
Não sei se a função sort() do javascript ordena isso ai, faz alguns testes.

_fs

http://java.sun.com/j2se/1.4.2/docs/api/java/util/HashMap.html

Me parece que seria mais apropriado criar um objeto do tipo Fruta que contém um ID e um Nome. Desta forma você retornaria um ArrayList destes objetos, garantindo então a ordem deles.

douglasfs

Qual implementação de Map você está usando ? Se for HashMap troque por LinkedHashMap para manter a ordem de inserção no Map.

[]s

Douglas

Paulo_Silveira

Ou ainda TreeMap, dependendo do que voce quis dizer com “ordenacao”

fabiozoroastro

Troquei pra LinkedHashMap, e funcionou perfeitamente.
Valeu à todo mundo.

Criado 16 de abril de 2007
Ultima resposta 16 de abr. de 2007
Respostas 5
Participantes 5