【问题标题】:Render data in Play Framework在 Play Framework 中渲染数据
【发布时间】:2015-07-06 08:55:40
【问题描述】:

我正在使用 Play Framework,我想使用从控制器传递到该 HTML 文件的数据来重现我在 HTML 文件中的绘图,但这种重现必须在索引页面中。也就是说,我将数据从模拟传递到 HTML 页面并在那里绘制图表,我想在这个 HTML 文件中正确绘制这些数据让我们将其称为索引 HTML 的“文件 2”,让我们称之为“第 1 页”。

我希望能够获得从文件 2 到文件 1 绘制的数据(比方说“数组”),所以我只需要输入: $.plot(...) 并避免再次创建数据数组(也许我可以将 file2 与 @file2.html.data1、#{extends 'file2.html' /} 或类似的东西链接起来)。如何从绘制数据的 HTML 中获取数据并将其从该 HTML 文件传递​​到索引 HTML 页面?谢谢!

(如果有帮助,我将所有图都存储在变量中(myPlot = $.plot($("#placeholder"), data, options);, myPlot2 = $.plot($("#placeholder2"), data, options);, ... 在我最初绘制它们的文件中)。

【问题讨论】:

  • 您的描述对我来说并不完全清楚。也许您可以提供一些源列表?就目前而言,在我看来,您唯一需要的就是在 javascript 文件/脚本标签中使用模板,或者使用 AJAX。
  • 我会尝试更好地解释自己:我在一个 html 文件中有来自模拟的参数,我在其中使用 Flot Charts (Javascript) 绘制它们。但是,我也需要索引 html 文件中的这些变量,例如当我单击按钮或其他内容时对它们的“提取”,以便也重现此页面中的图。谢谢!

标签: javascript java html plot playframework


【解决方案1】:

我相信增加以下解决方案可能会解决您的问题:https://stackoverflow.com/a/20874089/4506430

在您的情况下唯一可能的区别是 file2.html 可能是动态的(您没有说明,但这是我从上下文判断的猜测)。如果是,您需要在服务器端渲染它。

编辑 经过重新考虑,我意识到将数据存储在session scope 中对您来说会是更好的解决方案。由于会话范围,您可以在多个控制器之间共享数据,并将其嵌入到多个 html 文件中。

【讨论】:

  • 这会使文件 2 中的所有变量在文件 1 中可用,还是仅作为现有内容的“复制粘贴”工作? (在本例中为图表)
  • 这将复制粘贴现有内容。要重用变量,您必须重新设计当前的解决方案,以便服务器分别保存绘图数据和 html 代码。
  • 哇,这有点抽象。您有任何基本示例,以便我更好地理解吗?非常感谢您的帮助!
  • 无法从另一个 html 文件中访问存储在一个 html 文件中的 Javascript 变量。但是,有很多方法可以将它们存储在共享空间中,例如Web 存储、服务器会话范围,或者只是创建一个使用 ajax 动态提供数据的控制器。
  • 我很想知道如何执行提到的最后一个选项,如果这不是太麻烦的话。你有一个简单的例子或指导如何去做吗?谢谢!
猜你喜欢
  • 1970-01-01
  • 2013-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多