在 JavaScript 中处理 Java 对象
我在 JavaScript 中使用 Ajax,这会在响应中设置以下类的对象数组:
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;
}
}
使用 :
aoRes.setContentType("text/xml");
aoRes.setHeader("Cache-Control", "no-cache");
aoRes.getWriter().write(template[]);
现在我想把模板数组中的所有元素及其详细信息读取到我的 JavaScript 中。
有人能帮我怎么做吗?
答案#1
你有考虑过使用 Google Web Toolkit 吗?使用 GWT,你有多种在客户端和服务器之间传送对象的选择,包括 GWT RPC、RequestFactory 和 JSON。
答案#2
你需要将你的 Java 对象数组转换成 JavaScript 可以理解的东西。有两个明显的选择:XML(AJAX 意味着异步 JavaScript 和 XML),或者 JSON。JSON 可能更容易且更轻量。
所有的 AJAX JavaScript 库(JQuery 等)都对 JSON 有很好的支持。例如,请参见 http://api.jquery.com/jQuery.getJSON/。
还有几个 Java API 可以将 Java 对象转换为 JSON(例如看看 GSON)。
你必须修改响应的内容类型:如果使用 JSON,它不是 text/html,而是 application/json。