百里香为什么不渲染
<img th:src="@{/path/img/logo.jpg}" width="50" height="50" alt="logo"/>
何时从数据库表中读取它并将其作为未转义的文本(th:utext
)放置在页面上?
通常,当放置在页面上时,它将正确呈现。
想法是将上传的图像保存到应用程序中的路径,并将图像名称另存为字符串在数据库表中。在读取图像的过程中,名称是从数据库表中获取的,并放置在<img>
标记中。这在JSP上很好用,但是百里香无法得到类似的结果。我检查了我的浏览器控制台日志,并且路径th:src="@{/path/img/logo.jpg}"
可见,但没有解析为在页面上显示图像。
可能是什么问题?
答案 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:限定了驻留在文本/字符串内部的href
或src
属性,绝对路径就无法正确解析。