根据Thymeleafdocs
片段可以包括任何th:*属性。一旦片段包含到目标模板中(具有th:insert/th:replace属性的模板),将对这些属性进行评估,它们将能够引用在此目标模板中定义的任何上下文变量。
我的碎片
<div th:fragment="link">
<a th:href="@{${url}}"><span th:inline="text">[[${text}]]</span></a>
</div>
我就是这样把它包括进去的。
<div th:replace="fragments/common :: link" th:with="url='www.google.com', text='Click Me'"></div>
我得到的html
<a href="">
<span>null</span>
</a>
然而,这同样适用于
th: include
,并给我以下超文本标记语言。
<a href="www.google.com">
<span>Click Me</span>
</a>
为什么th:replace不能工作,而th:inlcude可以正常工作?
注意:
th:插入
超出范围,因为我正在使用Thymeleaf v2.1.5
似乎是一个类似(不一样)的问题,谢谢这篇文章中提到的问题
作为解决此问题的解决方法,您仍然可以使用th: include
,然后使用th:拿下="tag"
删除额外的div
,类似:
<div th:include="fragments/common :: link" th:with="url='www.google.com', text='Click Me'" th:remove="tag"></div>
原因是:replace实际上删除了当前标记,因此您丢失了在那里的所有属性,但从片段中获取了所有属性。在你的例子中,这意味着你从未定义过任何在范围内带有变量的th<代码>th:include的工作方式相反。您可以去掉片段标记,但要在布局中定义所有内容。
考虑一下这个片段:
<fragmenttag th:fragment="link" style="background-color: red">...</fragmenttag>
和布局:
<layouttag th:include="fragments/common :: link" style="font-size: 250%;"/>
<layouttag th:replace="fragments/common :: link" style="font-size: 250%;"/>
结果是:
<layouttag style="font-size: 250%;">Some Text</layouttag>
<fragmenttag style="background-color: red">Some Text</fragmenttag>
我有这段代码Thymeleaf调用Spring上下文并拉入用户ID。 我想把它放在一个现有的th:替换列出的项目中。基本上我需要把静态2替换为url中的当前会话用户ID,我已经尝试了许多选项,但似乎找不到在线解决方案。 我是一个沉香的新手,所以任何帮助都非常感谢,谢谢。 已尝试{*{user.id}} 由:org.thymeleaf.exceptions.templateProcessingExc
您可以看到Android Studio预览经常更新。如果你不想处理各种各样的bug,你最好使用一个稳定的版本。 如果你想使用更多的功能,你应该总是保持最新的版本,以避免错误。
我正在创建一个用户界面,允许用户通过拖放界面创建数据库表(及其字段和关系)。 这是我创建的jsFiddle,尽管它看起来有很多事情要做,但实际上它只是演示问题所需的最低限度。以下是我的要求,jsPlumb很好地单独处理了这些要求,但是当我试图把它们放在一起时,我会遇到问题。特别是,它将#2和#3结合在一起是一个问题。 表格可以在画布上拖动(使用jsPlumb.draggable()) 表中的字段可
我有一个基本的 VPC,其中包含两个运行 Apache 的 Linux EC2 实例,它们位于经典 ELB 后面。 我想从web应用程序中使用DynamoDB,这要求EC2实例具有出站互联网访问,因为DynamoDBendpoint无法通过后端获得。 我正在使用 ELB 来避免将公有 IP 附加到 EC2 实例,因此我宁愿不附加它们,以便可以访问 DynamoDB。 在这一点上,我被卡住了。 我设
问题内容: 我浏览了一些帖子,并且阅读了多个JPA不支持接口的地方。有人可以分享真实项目中的含义吗?这是否意味着我们无法为接口添加注释? 问题答案: 这意味着您不能在接口上进行映射(注释)或查询。您只能查询@Entity类,并且只能将它们放在真实类中,而不能放在接口上。通常这不是问题,接口没有状态,因此在大多数情况下与持久性没有真正关系。您仍然可以在模型中使用接口,只是不能直接映射它们。 如果您有
我正在使用SpringMVC和Thymeleaf。我的模板在表单标记处如下所示: 它的作品,但没有。我非常喜欢这个(非常简单),但是我没有找到任何关于这个的解释。 没有th:action和th:object它是如何工作的?