我有一个问题,弄清楚的语法,以产生一个服务器相对的URL与变量替换。
如果我这样做:
<img th:src="@{~'/puzzles/'+${category.getDirName()}+'/'+${category.getRandomPuzzleName()}+'.png'}"/>
Thymeleaf将代码输出到页源:
<img src="~'/puzzles/'+${category.getDirName()}+'/'+${category.getRandomPuzzleName()}+'.png'"/>
如果我删除波浪(所以它现在是一个上下文相关的url):
<img th:src="@{'/puzzles/'+${category.getDirName()}+'/'+${category.getRandomPuzzleName()}+'.png'}"/>
Thymeleaf解释变量并给出如下输出:
<img src="/www/puzzles/3DMathPuzzles-Cube-555/3DMathPuzzle-Cube-555-00011-5.png"/>
但是,URL当然不是我想要的,因为它有'/www'的上下文。
我希望标签是这样的:
<img src="/puzzles/3DMathPuzzles-Cube-555/3DMathPuzzle-Cube-555-00011-5.png"/>
有什么办法吗?
没有使用服务器相对于Thymeleaf的url,但如果我正确理解文档,~
需要成为字符串的一部分:
<img th:src="@{'~/puzzles/'+${category.getDirName()}+'/'+${category.getRandomPuzzleName()}+'.png'}"/>
如果这不起作用,请尝试URL占位符语法:
<img th:src="@{~/puzzles/{dir}/{name}.png(dir=${category.getDirName()}, name=${category.getRandomPuzzleName()})}"/>