Spracovať objekt Java v JavaScripte


Používam Ajax vo svojom JavaScripte a to nastavuje pole objektov nasledujúcej triedy v odpovedi:

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žitie:

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

Teraz chcem načítať všetky prvky z poľa šablóny a ich podrobnosti do môjho JavaScriptu.

Môže mi niekto pomôcť s tým, ako to urobiť?

Odpoveď č. 1

Uvažovali ste o používaní Google Web Toolkit? S GWT máte niekoľko možností na odosielanie objektov medzi klientom a serverom, vrátane GWT RPC, RequestFactory a JSON.

Odpoveď č. 2

Musíte premeniť svoje pole Java objektov na niečo, čomu rozumie JavaScript. Existujú dve zrejmé možnosti: XML (AJAX znamená Asynchronous Javascript And XML) alebo JSON. JSON je pravdepodobne jednoduchší a ľahší.

Všetky AJAX JavaScript knižnice (JQuery, atď.) majú dobrú podporu pre JSON. Pozri http://api.jquery.com/jQuery.getJSON/ ako príklad.

Existuje tiež niekoľko Java API na transformáciu Java objektov do JSON (pozrite sa napríklad na GSON).

Budete musieť upraviť typ obsahu odpovede: nie je to text/html, ale application/json, ak používate JSON.