java - 使用 ftl 模板和 Spring Boot 进行动态页面更新
问题描述
我与使用带有 FTL (Freemarker) 模板的 Spring Boot 相关的问题。有没有办法动态更新我的页面?例如:我有两个帐户的一个通用列表。当第二个用户更改该列表时,我希望在我的页面上看到这些更改而无需重新加载页面。有没有办法意识到这一点?我知道 React 有这种可能性,但是我有很多带有 ftl 模板的代码。很高兴得到任何答案
解决方案
FreeMarker 生成静态 HTML 输出,仅此而已。
在网站中,完成您要求的操作(更改页面内容而不重新加载)的唯一方法是使用 JavaScript(React 在下面也使用 JavaScript)。
您可以检测到有人何时使用 WebSocket、长轮询等更改了某些内容(例如用户列表)。
Baeldung 使用 Spring 介绍 WebSocket
Ps.:您可能必须使用 JavaScript 重复一些打印逻辑,例如
- 用户 A 打开视图
- 用户 B 打开视图
- 用户 B 编辑了一些东西
- 在服务器端,您广播新的 WebSocket 消息,以通知每个连接的用户发生了一些变化(可以详细说明,例如ID 123 登录的用户已从 "donald" 更改为 "dolan")
- 在客户端,您收听广播的消息。当您收到4中描述的消息时,您会找到 id 为123的用户的表行,并将其登录名更改为dolan。
推荐阅读
- android-studio - Android Studio 究竟是如何调用 Gradle 进行项目同步的?
- node.js - nodejs:对“==”的定时攻击
- smalltalk - Pharo:并行下载文件
- design-patterns - 隔板和断路器的查询
- spring-boot - 将包装从jar更改为war后Tomcat无法启动
- python - pygame为什么python告诉我找不到pygame.font
- join - 在 Kafka ksqlDB 上连接两个表时出现错误“无效的连接条件:表-表连接需要在右输入表的主键上连接”
- netlogo - 如何在某些条件下识别邻居
- google-cloud-platform - 如何使用 .NET 云客户端库重新制作“gcloud run deploy”?
- linux - 在哪里放置应用程序以便无论工作目录如何我都可以使用它们?