使用Thymeleaf 表达式嵌套变量输出文本
想要的是jsp技术中使用 ${projectType[type]} 的效果
需要的效果
- 变量 Map projectType = {1:“平台”,2:“演示”}
- 变量 Integer type=1
代码:
<p th:text="${projectType[type]}"></p>
假想输出
<p>平台</p>
实际无法实现
实际输出为空
<p></p>
调试一下map,不嵌套输出:
<p th:text="${projectType[1]}"></p>
输出
<p>平台</p>
说明这种map调用方式没有问题
嵌套两层${}测试:
<p th:text="${projectType[${type}]}"></p>
输出报错, 应该不可以在${}嵌套${}
解决办法
经过一下午的测试,发现是变量类型的问题,应该算是BUG
对内嵌的变量转换类型后成功输出
代码:
<p th:text="${projectType[type+0]}"></p>
</