我使用thymeleaf分割我的模板在头/主/脚部分。为了在一些页面上包含样式表和javascript(但不是在其他页面上),我使用了这里解释的片段表达式。
所以我的头。html看起来像:
<!DOCTYPE html>
<html>
<head th:fragment="head(title,links,scripts)">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"/>
<title th:replace="${title}">Title placeholder</title>
<!--/* Per-page placeholder for additional links */-->
<th:block th:replace="${links} ?: ~{}" />
<th:block th:replace="${scripts} ?: ~{}" />
</head>
<body>
</body>
</html>
例如,在我的主页中使用了索引。html格式如下:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="head :: head(~{::title},~{::link},~{::script})">
<title th:text="#{label.pages.home.title}">Homepage</title>
<link rel="stylesheet" href="/assets/css/jumbotron.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</head>
<body>
...
</body>
</html>
这工作正常。脚本和链接标记显示在结果页面的标题中。不过,偶尔我希望在正文的末尾有脚本(就在
脚本出现在头部
- 脚本在其原始位置第二次出现
我怎样才能防止thymeleaf把剧本放在头上?
片段表达式具有语法~{template::selector}
。您可以将原始文件的引用和语法简化为~{::selector}
。选择器是XPath或类似CSS的表达式。为了防止包含所有脚本,您应该将范围缩小到head
标记:~{::head/script}
。
我想使用一个模板片段创建一个最多包含三个项目的列表。无论是否有项目,都将始终显示项目的三个空格,因此看起来是这样的。 但是,即使语句的计算结果为false,且列表为空,它仍会尝试执行'th:include语句,从而导致以下错误: 如何让if语句优先于片段执行?
问题内容: 使用“模板修饰而不是包含”技术时,如何检查Thymeleaf片段是否已定义? 在以下 template.html 示例中,我只希望在定义片段时呈现script标签 但是在我的使用上面模板的 index.html 中,没有定义脚本片段,但是script标签仍然会渲染 我尝试过但没有运气 问题答案: 我在Thymeleaf玩了一点(…),这是我的结论。 在下文中,我将使用任何给定的标签(,
我有一个类,叫做a,有多个字段,还有一个类叫做B,它有一个类a的对象。在形式上,th:对象是B类的,然后在html文件中,我想使用thymeleaf获取th:字段中a类字段的输入,所以通常我会做,但该字段不在B类中,而是在a类中。。。那么我该怎么做呢?我试过了
我想做一些像 在百里香叶中。我知道有一个价值观,我要做的就是 如何在Thyemleaf的select选项中传递两个值。
我的PDF包含一个文本形式的带有连字符符号的URL。当我通过标记直接从PDF复制URL时,当连字符位于行的末尾时,符号在粘贴后消失。 我有以下html: 但复制粘贴后,我得到的url没有连字符:https://sec2mms.hansatonich.at/test.t.ozkq/ 我错过了什么?
我有这个密码; 其中,是存储在属性文件中的“子类型”的国际化字符串。所以我可以看出i18n设置正确。但是,我无法确定替换h6元素中的字符串子类型的语法。二者都 并给出语法错误。有人能给我指一下正确的方向吗。