Обрабатывать Java-объект в JavaScript - PullRequest
7 голосов
/ 25 февраля 2011

Я использую Ajax в моем JavaScript, и он устанавливает в ответ массив объектов следующего класса:

public class RetrieveTempSecVersions {

    private String templateName;
    private int[] versionNumber;

    public String getTemplateName() {
        return templateName;
    }

    public void setTemplateName(String templateName) {
        this.templateName = templateName;
    }

    public int[] getVersionNumber() {
        return versionNumber;
    }

    public void setVersionNumber(int[] i) {
        this.versionNumber = i;
    }
}

используя:

aoRes.setContentType("text/xml");
aoRes.setHeader("Cache-Control", "no-cache");
aoRes.getWriter().write(template[]);

Теперь я хочу прочитать всеэлементы из массива шаблонов и его детали в мой JavaScript.

Кто-нибудь может мне помочь, как это сделать?

Ответы [ 3 ]

4 голосов
/ 25 февраля 2011

Рассматривали ли вы использование Google Web Toolkit ? С GWT у вас есть несколько вариантов отправки объектов между клиентом и сервером, включая GWT RPC , RequestFactory и JSON .

2 голосов
/ 25 февраля 2011

Как уже говорилось, jQuery очень хорош для манипуляций с ajax.

Еще одним хорошим фреймворком, который мне нравилось использовать, был DWR: http://directwebremoting.org/dwr/index.html

Он намного легче, чем jQuery (потому что фокусируется только на вызовах Ajax, а не на компонентах) и очень прост для понимания.

2 голосов
/ 25 февраля 2011

Вам нужно превратить ваш массив объектов Java в то, что понимает JavaScript. Существует два очевидных варианта: XML (AJAX означает асинхронный Javascript и XML) или JSON . JSON, вероятно, проще и легче.

Все библиотеки JavaScript AJAX (JQuery и т. Д.) Имеют хорошую поддержку JSON. См. Например, http://api.jquery.com/jQuery.getJSON/.

Существует также несколько API-интерфейсов Java для преобразования объектов Java в JSON (см., Например, GSON ).

Вам придется изменить тип содержимого ответа: это не text / html, а application / json, если вы используете JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...