Java nesnesini JavaScript'te işleyin
JavaScript'imde Ajax kullanıyorum ve bu, bir yanıtta aşağıdaki sınıftan bir nesne dizisi ayarlıyor:
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;
}
}
kullanarak :
aoRes.setContentType("text/xml");
aoRes.setHeader("Cache-Control", "no-cache");
aoRes.getWriter().write(template[]);
Şimdi template dizisindeki tüm elemanları ve detaylarını JavaScript'ime okumak istiyorum.
Bunu nasıl yapacağım konusunda bana kimse yardımcı olabilir mi?
Cevap #1
Google Web Toolkit kullanmayı düşündünüz mü? GWT ile, istemci ve sunucu arasında nesneleri göndermek için GWT RPC, RequestFactory ve JSON dahil olmak üzere çeşitli seçenekleriniz vardır.
Cevap #2
Java nesneleri dizinizi JavaScript'in anlayabileceği bir şeye dönüştürmeniz gerekiyor. İki açık seçenek var: XML (AJAX, Asenkron JavaScript ve XML anlamına gelir) veya JSON. JSON muhtemelen daha kolay ve daha hafiftir.
Tüm AJAX JavaScript kütüphaneleri (JQuery, vb.) JSON için iyi destek sağlar. Örneğin, bkz. http://api.jquery.com/jQuery.getJSON/.
Java nesnelerini JSON'a dönüştürmek için birkaç Java API'si de vardır (örneğin GSON'a bakın).
Yanıtın içerik türünü değiştirmeniz gerekecek: JSON kullanırsanız, text/html değil, application/json olmalıdır.