gpt4 book ai didi

java - SparkJava网站动态更新

转载 作者:行者123 更新时间:2023-11-30 06:31:45 25 4
gpt4 key购买 nike

我使用 Spark 开发一个网络应用程序成名工作。在其中一个网站上,我想启用动态内容加载。我的意思是,在 Java Controller 中,我在服务器中搜索一些信息,并且我想在搜索完成时更新网站,例如:

// this is called by get("/module", (req, resp)-> ...);
public static ModelAndView getModules(Request req, Response res) {
Map<String, Object> model = new HashMap<String, Object>();

List<Module> modules = new ArrayList<>();
model.put("modules", modules);

lookForModules(this);

return new ModelAndView(model, "pathToSiteSource");
}

private lookForModules(Listener listener){
// modules search in the background thread
// when any module is found I inform the listener;
// different modules can be found in various times
}

public void onModulesFound(List<Module> modules){
// I want to update the site using the modules that I got
}

我读到 WebSockets 是一种可行的方法,但是 Spark 网站上的 WebSockets 示例使用 AJAX 调用,并且我的搜索必须在我的 java 类中完成。 WebSockets 是执行此操作的正确方法吗?

最佳答案

我设法以某种方式解决了我的问题。

Tha Java 代码如上,加上在 onModuleFound 方法中,我更新了存储在 Controller 类中的模块的静态列表(不是作为 getModules 方法中的变量) )。

然后在站点代码中我添加了 AJAX 调用,该调用每三秒更新一次此特定 div。这会导致调用 getModules,并将最新的模块列表设置到我的网站模型中。

不确定这是否是最好的解决方案,但它对我来说效果很好。

关于java - SparkJava网站动态更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45946631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com