thymeleaf - 从数据库表发送时,Thymeleaf 无法呈现标签
问题描述
为什么百里香叶不渲染
<img th:src="@{/path/img/logo.jpg}" width="50" height="50" alt="logo"/>
当它从数据库表中读取并作为非转义文本 ( th:utext
) 放置在页面上时?
通常,当放置在页面上时,它会正确呈现。这个想法是将上传的图像保存到应用程序中的路径,并将图像的名称保存为数据库表中的字符串。在读取图像期间,从数据库表中获取名称并放置在<img>
标签中。这适用于 JSP,但我无法使用 thymeleaf 获得类似的结果。我检查了浏览器控制台日志,路径th:src="@{/path/img/logo.jpg}"
可见但未解析为在页面上显示图像。
可能是什么问题?
解决方案
我终于找到了解决方案。我将上下文路径附加到src
属性的相对路径而没有 thymeleaf 的命名空间限定,如下所示<img src="/contextPath/path/img/logo.jpg" width="50" height="50" alt="logo"/>
:请注意对资源的可访问性是多么简单:/contextPath/relativePath
,因此最重要的路径是相对路径。这类似于:Thymeleaf 解析文本并执行文本表达式。我观察到,一旦 thymeleaf 的命名空间 th: 限定了位于文本/字符串内的href
或src
属性,则绝对路径无法正确解析。
推荐阅读
- python - 如果我们在python的for循环范围内使用一些数学运算怎么办
- r - 检查列是否具有超过 N 个唯一值的最快方法?
- css - 我可以阻止 iframe 在 details:not([open]) 中加载吗?
- python - 在性能方面,在 Pygame 中移动 rect 还是制作新 rect 更快?
- javascript - 从动态创建的行中的按钮删除 indexdb 中的记录
- r - 如何根据字符串匹配R将文件读取到数据帧列表
- java - Spring使用自定义注解注册bean
- html - 固定侧边栏,顶部边距和底部边距
- javascript - JS中接收手机app的url scheme
- c - 如果 x != x 给出相同的结果,为什么 isnan(x) 存在?