网站搜索

在 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。