Pergunta

alças DWR listas de primitivas bastante simples. Eu não poderia encontrar se o array de objetos retornados por uma chamada de método DWR representar um objeto JSON. Qualquer pistas? Ou eu tenho que retornar uma string JSON que representa a matriz de objetos de volta ao navegador?

Foi útil?

Solução

Esta resposta é um pouco tarde, mas aqui vai:)

Boa notícia: DWR também lida com matrizes e coleções de Java de uma forma muito simples e direta. Apenas devolvê-los e no lado do cliente você terá objetos Array JavaScript. (. Em casos típicos como primitivas ou cordas dentro de sua matriz ou colecção, isto é, se o conteúdo é algo mais exótico, pode ser necessário definir conversores;. Mais abaixo)

Aqui está uma citação de DWR documentação (grifo meu):

Por padrão todos os seguintes são convertidos para você sem mais declaração:

  • Todos tipos primitivos, boolean, int, double, etc.
  • As versões baseadas Classe da estes booleano, inteiro, etc.
  • java.lang.String
  • java.util.Date e os derivados 3 SQL
  • matrizes do acima
  • Produção (Listas, Sets, mapas, Iterators, etc) do acima
  • DOM objetos (como Elemento e Document) do DOM, XOM, JDOM e dom4j

Então, você definitivamente não vai precisar de cordas JSON para estes (embora isso possa ser uma boa opção para estruturas de dados mais complicado).

Você pode realmente voltar muitas mais tipos de objetos sem fazer um monte de trabalho manual porque DWR vem com " conversores " para os lotes de usos típicos. Por exemplo, para fazer o seu costume "feijão" estilo de objetos Java trabalho no lado do cliente JS, tudo que você precisa dizer em dwr.xml é que você quer usar o feijão conversor :

<convert converter="bean" match="com.company.YourBean" />

Mesmo que o seu método retorna uma lista (ou matriz) daqueles feijão objetos ...

public static List<YourBean> getData(){ ... }

... os sufixos de configuração acima, o que é bastante agradável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top