gpt4 book ai didi

thymeleaf - Thymeleaf 文本文字中的下划线

转载 作者:行者123 更新时间:2023-12-05 03:48:36 36 4
gpt4 key购买 nike

问题:如何对文本文字中的多个连续下划线进行转义?

我正在为 HTML 使用标准的 Thymeleaf 方言(我在这里使用 Spring 或 SpEL)。

在 Thymeleaf 中,我可以将下划线创建为 text literal如下:

<div th:text="'_'"></div>

呈现为:

<div>_</div>

我可以用相同的方式创建带有 2 个和 3 个下划线的文字:

<div th:text="'__'"></div>
<div th:text="'___'"></div>

但是对于 4 个下划线,我得到一个错误:

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: ""

我假设(可能不正确)这是因为两对下划线(__ 后跟 __)是 Thymeleaf 用于 expression preprocessor 的标记.当这些被删除时,我留下了一个空表达式 - 因此是错误。

我可以使用反斜杠 (\) 转义字符转义下划线。以下都给出了要求的结果:

<div th:text="'\_\___'"></div>
<div th:text="'\_\_\_\__'"></div>
<div th:text="'\_\_\_\___'"></div>
<div th:text="'_\_\_\_\___'"></div>
<div th:text="'\_\_\_\_\_\___'"></div>

但我不能只转义每个下划线。

这显示了一个杂散的反斜杠:

<div th:text="'\_\_\_\_\_'"></div>

结果是:

<div>____\_</div>

所以:

  1. 在文本文字中转义下划线的规则是什么?

  2. 是否真的是预处理器导致了这种行为(在文本文字中)——还是其他原因?

最佳答案

是的,这绝对是预处理器的一部分。

It looks to me就像预处理器只用 __ 替换 \_\_ 的精确匹配。在您有奇数个 \_ 的任何情况下,您将得到输出 \_ - 因为它没有处理 \_ 作为一个真正的逃避,而不是只寻找 \_\_

关于thymeleaf - Thymeleaf 文本文字中的下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64307689/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com