Xử lý đối tượng java trong javascript
Tôi đang sử dụng Ajax trong JavaScript của mình và điều đó thiết lập một mảng các đối tượng của lớp sau trong phản hồi:
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;
}
}
sử dụng :
aoRes.setContentType("text/xml");
aoRes.setHeader("Cache-Control", "no-cache");
aoRes.getWriter().write(template[]);
Bây giờ tôi muốn đọc tất cả các phần tử từ mảng mẫu và chi tiết của chúng vào JavaScript của tôi.
Ai có thể giúp tôi cách làm điều đó không?
Câu trả lời #1
Bạn đã cân nhắc sử dụng Google Web Toolkit chưa? Với GWT, bạn có một số lựa chọn để gửi các đối tượng giữa client và server, bao gồm GWT RPC, RequestFactory và JSON.
Câu trả lời #2
Bạn cần chuyển đổi mảng các đối tượng Java của mình thành thứ mà JavaScript có thể hiểu. Có hai lựa chọn rõ ràng: XML (AJAX có nghĩa là Asynchronous Javascript And XML), hoặc JSON. JSON có lẽ dễ hơn và nhẹ hơn.
Tất cả các thư viện JavaScript AJAX (JQuery, v.v.) đều có hỗ trợ tốt cho JSON. Xem http://api.jquery.com/jQuery.getJSON/ để tham khảo ví dụ.
Cũng có một số API Java để chuyển đổi các đối tượng Java thành JSON (ví dụ, hãy xem GSON).
Bạn sẽ phải điều chỉnh loại nội dung của phản hồi: nó không phải là text/html, mà là application/json nếu bạn sử dụng JSON.