【问题标题】:How to pass a variable from javascript/jquery to java如何将变量从 javascript/jquery 传递给 java
【发布时间】:2013-07-10 08:22:01
【问题描述】:

我想在 java 类中使用来自 javascript/jquery 的数据。

我从另一台服务器获取数据作为我的 servlet 的后处理结果。我想使用这些数据。此数据是 JSON 字符串。响应如下所示:

[{"id":"1","bool_m":"0","name":"Test 1"},{"id":"2","bool_m":"1","name":"Test 2"},{"id":"3","bool_m":"0","name":"Test 3"}]

我该如何存档?如果我创建一个新的 java 对象并将“数据”传递给构造函数,它不会知道“数据”。

这就是我得到的(此代码在 liferay-server(使用 tomcat)上作为 .jsp 运行):

<script type="text/javascript">

    function getScenarioList() {
        $.post("url",
                {
                    action : "get_scenario_list"
                })
                .done(function(data) {
                    alert("Data Loaded: "+ data);
                    <%
                        Testclass one = new Testclass(data);
                    %>
                });
    }
</script>

【问题讨论】:

  • 代码中的 Java 对象在哪里?
  • 试试这个 ...stackoverflow.com/a/8141337/960778。您将需要在服务器端使用 servlet。
  • 这个“Java”是否在小程序、servlet、鞋盒中运行?这里没有足够的信息来回答您的问题。
  • 恐怕你应该先弄清楚客户端发生了什么,服务器端发生了什么(如果有服务器?你的问题很不清楚)
  • java 在 liferay 的 portlet 中运行(在 tomcat 上运行)。所以它是一个servlet

标签: java javascript jquery liferay


【解决方案1】:

您可以通过 jackson 做到这一点。请使用 JACKSON 进行谷歌搜索。

【讨论】:

  • 我的数据变量中有数据(来自帖子)我该如何使用它?
  • 对不起。在您的代码中,您正在使用警报(响应)。我的目标是在我自己的 javaclass 中使用响应来修改它并将其返回给 javascript。在我看来,您根本没有使用 java 类。
  • 你能把收到的回复贴出来吗?
  • 我真的不清楚,你想要实现什么。如果要修改传输的数据,为什么不在接收 JSON 的 servlet 中编写这样的代码呢? servlet 旨在接收请求并返回适当的响应。
  • 我是 javascript 和 jquery 的新手。因此我想尽可能多地在 java 中处理。
【解决方案2】:

您不能在 AJAX 请求中使用 Java。

JSP 像 Servlet 一样在服务器端呈现,并且在呈现完成时它与 Java 代码无关,只有 html(和 javascript)。 ajax 在客户端运行。此外,您在 ajax(在客户端)没有“Java”访问权限。

正确的方法是在服务器端创建这个 Java 类。你有“url”,这个url后面是什么?另一个 jsp 或 servlet 或者 Liferay-Action?

【讨论】:

    猜你喜欢
    • 2019-02-09
    • 2017-03-20
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 2015-08-24
    相关资源
    最近更新 更多