【问题标题】:How to pass two Json lists from Java Servlet to HTML page?如何将两个 Json 列表从 Java Servlet 传递到 HTML 页面?
【发布时间】:2017-07-07 22:51:49
【问题描述】:

在我的HTML 页面中,我希望能够区分来自servlet 的two lists,所以我想发送彼此独立但两者都在相同的响应 的servlet。

我在servlet 中使用以下代码传递一个列表:Coll1Json:

Gson gson = new Gson();
String Coll1Json = gson.toJson(Coll1, UAppConstants.CHANNEL_COLLECTION);
String Coll2Json = gson.toJson(Coll2, UAppConstants.CHANNEL_COLLECTION);
PrintWriter writer = response.getWriter();
writer.println(Coll1Json);                    //here only Coll1Json is passed
writer.close();

我想同时发送Coll1Json 和Coll2Json。

如何解决这个问题以及如何在发送后在HTML 页面controller 中阅读它们?

谢谢

【问题讨论】:

  • 合并成一个json数组

标签: java angularjs json servlets


【解决方案1】:

您可以创建一个 Wrapper 类并在其中添加两个 json 字符串,例如:

public class Response{
  //constructors
  private String Coll1Json;
  private String Coll2Json; 
  //Setters and Getters
}

在代码中,您可以简单地执行以下操作:

String Coll1Json = gson.toJson(Coll1, UAppConstants.CHANNEL_COLLECTION);
String Coll2Json = gson.toJson(Coll2, UAppConstants.CHANNEL_COLLECTION);
PrintWriter writer = response.getWriter();
writer.println(new Response(Coll1Json, Coll2Json));                    
writer.close();

【讨论】:

    【解决方案2】:

    您可以将 JOSN 添加到数组列表中,然后将 ArrayList 转换为 JSON 响应。

        List<DataObject> objList = new ArrayList<DataObject>();
        objList.add(Coll1Json );
        objList.add(Coll2Json );       
        // Convert the object to a JSON string
        String json = new Gson().toJson(objList);
        PrintWriter writer = response.getWriter();
        writer.println(Coll1Json);                    
        writer.close();
    

    【讨论】:

      猜你喜欢
      • 2014-11-20
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多