Vyhledávání na webu

Pracovat s objektem Java v JavaScriptu


Používám Ajax ve svém JavaScriptu a ten nastavuje pole objektů následující třídy v odpovědi:

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;
    }
}

používající :

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

Teď chci přečíst všechny prvky z pole šablony a jejich detaily do mého JavaScriptu.

Může mi někdo pomoci, jak to udělat?

Odpověď č. 1

Zvažoval jste použití Google Web Toolkit? S GWT máte několik možností, jak posílat objekty mezi klientem a serverem, včetně GWT RPC, RequestFactory a JSON.

Odpověď č. 2

Musíte převést své pole Java objektů do něčeho, čemu rozumí JavaScript. Existují dvě zjevné možnosti: XML (AJAX znamená Asynchronous Javascript And XML) nebo JSON. JSON je pravděpodobně jednodušší a lehčí.

Všechny AJAX JavaScript knihovny (JQuery atd.) mají dobrou podporu pro JSON. Viz například http://api.jquery.com/jQuery.getJSON/.

Existuje také několik Java API pro převod Java objektů do JSONu (například se podívejte na GSON).

Budete muset upravit typ obsahu odpovědi: není to text/html, ale application/json, pokud používáte JSON.