Как анализировать массивы объектов, возвращаемых DWR?

StackOverflow https://stackoverflow.com/questions/310093

  •  08-07-2019
  •  | 
  •  

Вопрос

DWR довольно просто обрабатывает списки примитивов.Мне не удалось выяснить, представляет ли массив объектов, возвращаемых вызовом метода DWR, объект JSON.Есть какие-нибудь подсказки?Или мне нужно вернуть строку JSON, представляющую массив объектов, обратно в браузер?

Это было полезно?

Решение

Этот ответ немного запоздал, но вот :)

Хорошие новости:DWR также очень просто обрабатывает массивы и коллекции Java.Просто верните их, и на стороне клиента вы получите объекты JavaScript Array.(В типичных случаях, таких как примитивы или строки внутри вашего массива или коллекции, то есть.Если содержимое является чем-то более экзотическим, вам может потребоваться определить преобразователи;подробнее ниже.)

Вот цитата из Документация DWR (выделено мной):

По умолчанию все следующие преобразуются для вас без дальнейшего объявления:

  • Все примитивные типы, логические, int, double и т. д.
  • Версии этих логических, целочисленных и т. д. основанных на классах.
  • java.lang.String
  • java.util.Date и три производных SQL
  • массивы вышеперечисленного
  • Коллекции (списки, наборы, карты, итераторы и т. д.) вышеперечисленного
  • Объекты DOM (например, элемент и документ) из DOM, XOM, JDOM и DOM4J.

Таким образом, для них вам определенно не понадобятся строки JSON (хотя это может быть хорошим вариантом для более сложных структур данных).

На самом деле вы можете возвращать гораздо больше типов объектов, не выполняя большой ручной работы, поскольку DWR поставляется с "преобразователи"для множества типичных применений.Например, чтобы ваши пользовательские Java-объекты в стиле «bean» работали в JS на стороне клиента, все, что вам нужно сказать: dwr.xml заключается в том, что вы хотите использовать конвертер бобов:

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

Даже если ваш метод возвращает список (или массив) этих объектов bean-компонентов...

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

...приведенной выше конфигурации достаточно, и это очень приятно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top