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.