Этот ответ немного запоздал, но здесь идет:)
Хорошая новость: DWR также обрабатывает массивы и коллекции Java очень простым способом. Просто верните их, и на стороне клиента вы получите объекты Array JavaScript. (В типичных случаях, таких как примитивы или строки внутри вашего массива или коллекции, то есть. Если содержимое является чем-то более экзотическим, вам может потребоваться определить конвертеры; подробнее ниже.)
Вот цитата из Документация DWR (выделено мной):
По умолчанию все следующие
переоборудован для вас без дальнейшего
Объявление:
- Все примитивные типы, логические, int, double и т. Д.
- Версии этих булевых, целочисленных и т. Д. На основе классов
- java.lang.String
- java.util.Date и 3 производных SQL
- массивы вышеупомянутых
- Коллекции (списки, наборы, карты, итераторы и т. Д.) Из вышеуказанного
- Объекты DOM (такие как Элемент и Документ) из DOM, XOM, JDOM и DOM4J
Так что вам определенно не понадобятся строки JSON для них (хотя это может быть хорошим вариантом для более сложных структур данных).
На самом деле вы можете возвращать гораздо больше видов объектов, не делая много ручной работы, потому что DWR поставляется с " преобразователями " для многих типичных применений. Например, чтобы заставить ваши собственные объекты Java в стиле «bean» работать в JS на стороне клиента, все, что вам нужно сказать в dwr.xml
, это то, что вы хотите использовать bean converter :
<convert converter="bean" match="com.company.YourBean" />
Даже если ваш метод возвращает список (или массив) этих объектов bean ...
public static List<YourBean> getData(){ ... }
... достаточно вышеприведенной конфигурации, что довольно приятно.