使用Thymeleaf 表达式嵌套变量输出文本 (使用变量作为map的key输出value)

本文探讨了在Thymeleaf中如何使用表达式嵌套变量来输出Map的值,遇到的实际问题及解决方案。通过转换变量类型,解决了不能直接在${}中嵌套${}的问题,并介绍了Thymeleaf的一些转换技巧,如使用+0将字符串转为数字,使用+''将数字转为字符串。
摘要由CSDN通过智能技术生成

使用Thymeleaf 表达式嵌套变量输出文本

想要的是jsp技术中使用 ${projectType[type]} 的效果

需要的效果

  1. 变量 Map projectType = {1:“平台”,2:“演示”}
  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>
</
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值