Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-从应用程序刷新打开的html页面_Java_Html_Freemarker - Fatal编程技术网

Java-从应用程序刷新打开的html页面

Java-从应用程序刷新打开的html页面,java,html,freemarker,Java,Html,Freemarker,我有一个应用程序,可以从应用程序(我使用)创建html页面。之后,我使用桌面打开应用程序生成的网页,如下所示: public void openPage() { if (Desktop.isDesktopSupported()) { try { File file = new File("index.html"); Desktop.getDesktop().open(file);

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

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应用程序通信(例如发送参数以指定页面的更新方式)

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


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

在网页中使用ajax进行部分页面更新更好option@MehulKaklotar此外,只查询数据而不使用任何形式的表示逻辑或元数据(即返回纯JSON而不返回HTML)是一种可行的方法。您可以使用修改后的自报头或ETag发出请求,而不是轮询布尔值。如果在服务器上实现,它将返回304 not modified响应,您可以在浏览器中处理该响应。这将非常酷,但您的业务逻辑不应该依赖于它运行的服务器。当然,你也可以对修改后的自个头的“业务逻辑等价物”进行投票,但我这里的观点是建议一个可能的解决方案,而不是全部列出:)欢迎你在帖子中添加任何有建设性的内容。