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.