【发布时间】:2020-12-25 11:16:18
【问题描述】:
在th:utext 中使用简单的 html 标记似乎会导致呈现错误的换行符。为什么会这样,和/或我该如何预防?
我的标记如下所示:
<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 层中。
【问题讨论】:
标签: java html thymeleaf newline