我正在为我的spring boot应用程序使用thymeleaf模板。在主页下方,
<div th:replace="content :: content"></div>
在内容片段中,
<div th:fragment="content">
<h4 th:if="${param.val== 'abc'}">SOME-TEXT</h4> // not working
<h4 th:if="${param.val== 'abc'}" th:text="${param.val}"></h4> // not working
<h4 th:text="${param.val}"></h4> // working and value is abc
<h4 th:unless="${param.val== 'abc'}" th:text="${param.val}"></h4> // working - value in html text is abc
<h4 th:unless="${param.val== 'abc'}">SOME-TEXT</h4> // Working, value is SOME-TEXT
</div>
URL: domain/?val=abc
我想在html中显示:如果参数为。val==“abc”。值“abc”出现在th:text中。但在th内部:如果失败。
似乎有些隐藏的额外条件添加到param.val?有什么建议吗?
Thymeleaf函数${param.val}
将返回一个名为val
的请求参数。但是这可能是一个多值对象(例如数组)-例如考虑这个(这是一个有效的结构):
?val=abc&val=def
因此,要使用单值字符串,可以执行以下操作:
<h4 th:if="${#strings.toString(param.val)} == 'abc'" th:text="'SOME-TEXT-2'">SOME-TEXT-1</h4>
这将在网页中打印SOME-TEXT-2。
或者,您可以使用:
<h4 th:if="${#strings.toString(param.val)} == 'abc'">SOME-TEXT-1</h4>
它打印SOME-TEXT-1。
只是出于兴趣,如果您使用第一个示例val=abc
<h4 th:text="${param.val}"></h4>
它打印一个数组:
[abc, def]
在处理一系列相关复选框时,您可能会看到类似的情况(仅举一个示例)。
更新:
对于空检查,可以使用Thymeleaf执行以下操作:
<h4 th:if="${param.val} != null and
${#strings.toString(param.val)} == 'abc'">SOME-TEXT-2</h4>
在这种特定的情况下,实际上并不需要它,因为您没有使用可能导致问题的null值执行任何操作。
如果您在对象
foo中链接值,则更为相关。酒吧baz
-您需要检查foo
或bar
是否为空,以避免出现空指针异常。
请记住,Spring的表达式语言具有安全导航操作符,这在这种情况下非常有用:
foo。?酒吧baz
,允许您编写比仅使用Thymeleaf更简洁的空处理。但同样,与问题中的具体示例无关。
ModalCtrl:
对编码来说是新的,如果已经涵盖了,请道歉。花了几个晚上在Django的文档、YouTube、谷歌和这里尝试各种方法来解决这个问题。 我有一个与驾驶员相关的模型路线,我试图在我的模板上显示所有与该路线相关的驾驶员的路线。然而,目前我所能得到的只是来自路线模型的数据,而不是相关驾驶员的数据。 会感谢任何帮助,因为我正在努力让我的头! Models.py Views.py 样板 我尝试过.prefetc
问题内容: 一个布局模板和三个子模板。 layout.html tags.html content.html comment.html 代码 我很困惑如何渲染每个子模板并将结果组合到布局输出中。 谢谢。 问题答案: 与往常一样,该文档是一个很好的起点。 我在操场上写了一个工作实例 解释一下: 您不需要struct文字中的字符串:,而不是 您只能将单个对象传递给模板才能执行,这将按照指令中的要求将对
我正在尝试使用Thymeleaf呈现电子邮件模板,我希望主题和正文在同一个文件中,但分别呈现。我不想使用spring视图,只想使用普通的。 这有几个问题 首先,我无法获取Thymeleaf仅渲染
我的模板中有这个: item.content和item.content分别显示。但是,item.pub_date不显示其中的值。我在渲染模板中日期应该在的位置得到空部分。 使用Batarang,我实现了pub\u date值显示在模板中,但没有呈现什么。 这是我在巴塔朗查到的结果 我是否需要添加一个日期过滤器才能正常工作?我没有正确地公开pub\u date项中的值,或者?谢谢
我在让Thymeleaf按照我想要的方式处理模板方面遇到了一些问题。我以前使用的ApacheTiles很有效,但我认为它在配置/XML中很重要。我有一个优雅的解决方案,我甚至在XML配置中定义我的JavaScripts和Sytlesheets。然而,我想完全远离JSP。我已经看到了Thymeleaf和Facelets的参考资料。我决定试试Thymeleaf,但我在为所有其他页面获取默认布局时遇到了