在 thymeleaf 中转义 '&' 字符
Escaping '&' character in thymeleaf
我需要使用 thymeleaf 将图像加载到 html img
标签上。问题是,图像本身是从 url 获得的,它有两个参数。
样本:
<img src="/products/images?categoryId=1&image=1" />
问题是,image
参数是动态生成的,因此我需要在那里使用 thymeleaf 表达式。因此我尝试了这样的事情:
<img th:src="@{'/products/images?categoryId=1&image=' + ${product.id}}" />
但是当我 运行 这样做时,我收到以下消息:
Exception parsing document: template="product-list", line 104 - column 59
它指向出现“&”符号的位置。现在,我尝试使用“&”但是随后,url 变成了
/products/images?categoryId=1&image=1
显然,这是行不通的。
那么我如何使用 thymeleaf 创建一个带有两个参数的有效 link 呢?
这可以通过 Thymeleaf 轻松完成。不要连接字符串和
只需使用 @{'/products/images'(categoryId=1, image= ${product.id})}
在任何 html 属性中转义符号 &
的方式是 &
。实际上,无论您是否使用 Thymeleaf,您都应该始终转义所有 html 属性中的符号。
有关详细信息和参考资料,请参阅此问题:
Do I encode ampersands in <a href...>?
我需要使用 thymeleaf 将图像加载到 html img
标签上。问题是,图像本身是从 url 获得的,它有两个参数。
样本:
<img src="/products/images?categoryId=1&image=1" />
问题是,image
参数是动态生成的,因此我需要在那里使用 thymeleaf 表达式。因此我尝试了这样的事情:
<img th:src="@{'/products/images?categoryId=1&image=' + ${product.id}}" />
但是当我 运行 这样做时,我收到以下消息:
Exception parsing document: template="product-list", line 104 - column 59
它指向出现“&”符号的位置。现在,我尝试使用“&”但是随后,url 变成了
/products/images?categoryId=1&image=1
显然,这是行不通的。
那么我如何使用 thymeleaf 创建一个带有两个参数的有效 link 呢?
这可以通过 Thymeleaf 轻松完成。不要连接字符串和
只需使用 @{'/products/images'(categoryId=1, image= ${product.id})}
在任何 html 属性中转义符号 &
的方式是 &
。实际上,无论您是否使用 Thymeleaf,您都应该始终转义所有 html 属性中的符号。
有关详细信息和参考资料,请参阅此问题: Do I encode ampersands in <a href...>?