Gestionați obiectul Java în JavaScript
Folosesc Ajax în JavaScript-ul meu și asta setează un array de obiecte ale următoarei clase într-un răspuns:
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;
}
}
folosind :
aoRes.setContentType("text/xml");
aoRes.setHeader("Cache-Control", "no-cache");
aoRes.getWriter().write(template[]);
Acum vreau să citesc toate elementele din array-ul template și detaliile sale în JavaScript-ul meu.
Poate cineva să mă ajute cum să fac asta?
Răspuns #1
Ai luat în considerare folosirea Google Web Toolkit? Cu GWT ai mai multe opțiuni pentru trimiterea obiectelor între client și server, inclusiv GWT RPC, RequestFactory și JSON.
Răspunsul #2
Trebuie să-ți transformi array-ul de obiecte Java într-un lucru pe care JavaScript îl înțelege. Există două opțiuni evidente: XML (AJAX înseamnă Asynchronous Javascript And XML), sau JSON. JSON este probabil mai ușor și mai ușor de gestionat.
Toate bibliotecile JavaScript AJAX (JQuery etc.) au suport bun pentru JSON. Vezi http://api.jquery.com/jQuery.getJSON/ de exemplu.
Există, de asemenea, mai multe API-uri Java pentru a transforma obiectele Java în JSON (de exemplu, uită-te la GSON).
Va trebui să modificați tipul de conținut al răspunsului: nu este text/html, ci application/json dacă folosiți JSON.