这个问题在这里已经有答案了:
强标签新行(2个答案)
两个月前关门了。
使用简单的html标签 th:utext
似乎导致出现错误的换行符。为什么会这样,和/或我该如何预防?
我的标记如下所示:
<div class="row mb-1" th:utext="${item.snippet}"></div>
我的java如下所示:
snippet = StringUtils.replaceIgnoreCase(snippet,
searchText.trim(),
"<strong>"+searchText.trim().toUpperCase()+"</strong>");
什么时候 snippet
是“敏捷的棕色狐狸跳过了懒惰的狗”; searchText
是“跳跃”;以及 strong
标签存在;html呈现如下:
The quick brown fox
<strong>JUMPED</strong>
over the lazy dogs
当我移除 strong
标记,html呈现如下:
The quick brown fox JUMPED over the lazy dogs
值得注意的是,我所说的不仅仅是它在浏览器中的显示方式;源代码实际上在 </strong>
; 当 </strong>
不存在。我已经确认它没有被添加到java层。
1条答案
按热度按时间nvbavucw1#
尝试使用“内联表达式:”
记录在这里。
至于原因,我有一个类似的模板,并注意到了thymeleaf3.0发布后的行为变化。在描述内联表达式时,问题将等效表达式描述为:
该行为表明对某些或所有标记和
<th:block th:utext"..."/>
必须隔离目标文本。