从数据库表发送时,Thymeleaf无法呈现<img/>标签

时间:2018-11-23 09:39:13

标签: thymeleaf

百里香为什么不渲染

<img th:src="@{/path/img/logo.jpg}" width="50" height="50" alt="logo"/> 

何时从数据库表中读取它并将其作为未转义的文本(th:utext)放置在页面上?

通常,当放置在页面上时,它将正确呈现。 想法是将上传的图像保存到应用程序中的路径,并将图像名称另存为字符串在数据库表中。在读取图像的过程中,名称是从数据库表中获取的,并放置在<img>标记中。这在JSP上很好用,但是百里香无法得到类似的结果。我检查了我的浏览器控制台日志,并且路径th:src="@{/path/img/logo.jpg}"可见,但没有解析为在页面上显示图像。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。我将上下文路径附加到src属性的相对路径,而没有thymeleaf的名称空间限定,例如:<img src="/contextPath/path/img/logo.jpg" width="50" height="50" alt="logo"/>。 请注意,对资源的可访问性非常简单:/contextPath/relativePath,因此最重要的路径是相对路径。这类似于:Thymeleaf parse text and execute in-text expressions。 我观察到,一旦百里香的命名空间th:限定了驻留在文本/字符串内部的hrefsrc属性,绝对路径就无法正确解析。