0

我有一个从应用程序创建 html 页面的应用程序(我使用freemarker)。之后,我使用 Desktop 从应用程序打开生成的网页,如下所示:

public void openPage() {
        if (Desktop.isDesktopSupported()) {
            try {
                File file = new File("index.html");
                Desktop.getDesktop().open(file);
            } catch (IOException ex) {
                System.out.println("Error opening a html page.");
                ex.printStackTrace();
            }
        }
    }

现在,我的问题是:有没有办法从我的应用程序中刷新页面?我正在动态更改浓度,我想每隔几秒钟刷新一次浏览器中的页面。

还是只在后台更新页面并使用javascript直接在html代码中刷新它会更好?

感谢您的任何提示!

编辑:请注意,我想通过该网页上的某种形式与我的 java 应用程序进行通信(例如发送参数以指定我的页面更新方式)

4

1 回答 1

1

使用 AJAX 技术(jQuery非常适合您的需要)在您的应用程序中调用服务器端控制器。然后,您可以协商是否需要更新数据。为此建议使用 JSON API。您可以在 Java 代码中使用Jackson进行与 JSON 相关的操作。

为了节省带宽,您可以只轮询一个boolean值来确定服务器自上次更新以来是否有新数据(例如since=[some_timestamp],作为请求参数提供)并仅在有意义时才查询实际数据(即服务器返回true)。

于 2013-04-19T12:07:55.510 回答