【问题标题】:Thymeleaf relative URL for style sheet样式表的 Thymeleaf 相对 URL
【发布时间】:2016-04-05 14:41:21
【问题描述】:

我正在尝试学习 Thymeleaf,但在使用样式表的上下文相关 URL 时遇到了困难。

这是我网页上的<head>

<head lang="en">        
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>        
    <link href="../static/css/bootstrap.min.css" rel="stylesheet" media="screen"
        th:href="@{../static/css/bootstrap.min.css}" />
</head>

如果我查看渲染页面的源代码,我会得到:

<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="./test_files/bootstrap.min.css" rel="stylesheet" media="screen">
</head>

我不知道那条路是从哪里来的。 “测试”来自文件名。如果我给页面一个&lt;title&gt; 标签,“测试”就会被标题替换。但这似乎与相对 url 值无关。好迷茫……

顺便说一句,标准链接在静态网页中完美运行,因此这是其中的正确路径。

【问题讨论】:

  • 我在 Google 上环顾四周,找不到在 th:href 属性中使用相对路径的示例。您的问题似乎有效,希望您能得到答案。
  • 好吧,奇怪的是,看起来时髦的 url 是“正确的”。如果我使用这种相对 URL 添加图像,它可以正常工作。我的问题是 Bootstrap。
  • 不太明白:您呈现的页面似乎显示应用了意外的过滤器。我不知道引导程序中有任何东西会过滤这样的值。那么,好奇你发现问题出在哪里了吗?
  • 你有没有使用mvc:resources标签来映射你的静态资源?我相信这会解决你的问题。还要确保包含 thymeleaf 命名空间和 DOCTYPE &lt;!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-4.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"&gt;

标签: spring-mvc thymeleaf


【解决方案1】:
<link rel="stylesheet" th:href="@{~/css/bootstrap.min.css}"/>

您不需要 /static 文件夹的路径,“~”会将其标记为服务器相对 url。如果这不起作用,我们将需要您发布您可能拥有的任何 thymeleaf 配置。

您至少需要 2.0.5-SNAPSHOT 版本: http://forum.thymeleaf.org/Context-absolute-URLs-tp3818547p3856005.html

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2011-01-29
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多