【问题标题】:How to get the Json java object using javascript如何使用 javascript 获取 Json java 对象
【发布时间】:2013-07-23 09:57:51
【问题描述】:

我的要求是我必须将一些值或列表放入Json 对象的键值对中,因为我在 java 类上做了类似的事情,但无法弄清楚如何检索使用的相同 Json 对象通过jsp页面上的java脚本在java类中。请帮我解决问题

import org.json.simple.JSONObject;
class BeanManager{
    private JSONObject jsonObject;
    public JSONObject getJson()
    {
        jsonObject=new JSONObject();
        jsonObject.put("name","jack Daniel");
        jsonObject.put("age","3");
    }
}

【问题讨论】:

    标签: java javascript json jsp


    【解决方案1】:

    在 JSP 中将 JSON 内容附加到 html 节点,然后在 JavaScript 中读取节点内容并将它们评估为 JS 对象。

    这样的解决方案可能仅在时间上有用。考虑换一种方式

    【讨论】:

      【解决方案2】:

      在转发到您的 JSP 之前附加您的类实例作为请求属性,然后在视图中使用它。另外,请确保不要在 getter 中做业务工作(如果您声称要返回一个对象)。

      总而言之,类代码可能如下所示:

      类 BeanManager{

      private JSONObject jsonObject;
      private String jsonObjectString;
      
      public BeanManager() {
          jsonObject=new JSONObject();
          jsonObject.put("name","jack Daniel");
          jsonObject.put("age","3");
          jsonObjectString = jsonObject.toString();
      }
      
      public JSONObject getJsonObjectString() {
          return jsonObjectString;
      }
      

      }

      相关的 servlet 部分可能如下所示:

      BeanManager bm = new BeanManager();//manipulate it the way you want
      request.setAttribute("bean", bm);
      request.getRequestDispatcher("/WEB-INF/view.jsp").forward(request, response);
      

      视图可能包含以下部分:

      <script>
          var json = ${bm.jsonObjectString};
      </script>
      

      这样,json 变量将在 JavaScript 上下文中可用。

      如果您想处理 AJAX 请求,请查看How to use Servlets and Ajax? 问题及其答案。在那里,JSON 对象从 servlet 返回,然后解析为 HTML 文档。

      【讨论】:

      • 我正在尝试在 jsf 应用程序中做同样的事情,请告诉我如何使用 jquery
      • 在 JSF 中通常不会那样做,尽管这是可能的。更多信息可以看我对How to pass a List to javascript in JSF的回复。
      • 是的,它还有一件事我需要询问如何将 gson 中的值添加为键值对,因为我需要网页上的 json 格式的值
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2022-11-29
      • 1970-01-01
      • 2022-11-01
      • 2019-07-12
      • 2021-08-10
      相关资源
      最近更新 更多