Spring MVC 远程 Thymeleaf UrlTemplateResolver 片段问题

标签 spring spring-mvc thymeleaf

我正在运行一个测试,其中设置了两个 Spring Boot 应用程序,一个带有 header 片段,另一个带有索引页。

片段应用程序 = localhost:8080

<header th:fragment="application-header" id="application-header">
CONTENT 
</header>

索引应用程序 = localhost:7950

<header th:include="http://localhost:8080/application-header.tpl.html ::
   [//header[@id='application-header']]">
</header>

header 在调用应用程序中正确显示。

我对目前的情况有一些疑问。

1:如果我更新 Fragment 应用程序,除非重新启动应用程序,否则更新不会传播到 Index 应用程序。

2:如果片段应用程序在第一次索引加载时不可用,则索引应用程序将失败并出现 500 错误。

3:我必须使用 [//header[@id='application-header']] 片段名称在索引应用程序中不起作用。并不是真正的问题,但我从阅读中认为片段名称会起作用

@Bean
public UrlTemplateResolver urlTemplateResolver(){
    UrlTemplateResolver urlTemplateResolver = new UrlTemplateResolver();
    urlTemplateResolver.setOrder(20);
    return urlTemplateResolver;
}

最佳答案

要包含片段,您应该使用应用程序的 Web 目录结构。

<header th:include="/application-header.tpl.html :: header[@id='application-header']]">
</header>

关于Spring MVC 远程 Thymeleaf UrlTemplateResolver 片段问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29660122/

相关文章:

java - 单元测试-如何使用Spring MockMVC调用soap服务

java - spring-boot :run work with maven? 怎么办

java - Spring MVC 转换主体对象

java - 如何在Web应用程序中高效地使用quartz框架?

html - thymeleaf 的条件运算符

spring-cloud-sleuth 与 spring-amqp 集成

java - activemq-all "5.15.3"不适用于 Spring 5

java - Spring阻止用户通过浏览器和ajax访问url

java - 如何在 thymeleaf 中转义双引号?

java - 作为变量传递时,Thymeleaf 片段无法解析,即 <div th :replace ="${page}">