thymeleaf(模板) select(下拉框) 默认选中效果(回选效果)

最近在用老的开发方式+新技术写代码重新熟悉,遇到此问题,网上查阅了各种办法,都不见效果,后通过查阅(thymeleaf)官方API,自己摸索尝试,最终找到如下解决方案,代码经实打实测试,可呈现期望效果,分享出来供各位程序员伙伴们参考:

<select class="combox" name="userSex">
    <option th:selected="${{param.userSex}} eq ''" value="">所有性别</option>
    <option th:selected="${{param.userSex}} eq '1'" value="1">男</option>
    <option th:selected="${{param.userSex}} eq '0'" value="0">女</option>
</select>

代码段说明:

一、我的编码环境

代码工具:intellij IDEA 2021.1

游览器:Google Chrome(谷歌)

前端:thymeleaf、Jquery、DWZ

后端框架:SpringBoot,SpringMVC,Mybatis,Maven

服务器:tomcat

JDK版本:JDK16

二、下拉框标签

<select><option></option></select>

html的下拉框标签写法,这个不多说;

三、下拉框选项内容

<option th:selected="${{param.userSex}} eq '1'" value="1">男</option>

th:属性名称:此为thymeleaf的th标签写法,此类标签都能按相关格式写条件判断表达式,不一定要使用th:if才能判断;

${{}}:thymeleaf表达式的写法,一般取值写成${}就行了,这里有写两层大括号,中间这一对大括号的意义为强制转换类型;

param:页面作用域对象,自带的,不用另外声明,直接使用即可;userSex为select(下拉框)的(name)属性值;param.userSex这样的写法可以取到select(下拉框)当前选中的值;param.userSex可换成从后台传递过来的对象或者属性取值(我这里写的是页面取值的方式);

eq:此为thymeleaf代替特殊符号的关键字,因此代码中不支持直接使用“==”符号,此处用eq关键字来代替,其功效就相当于“==”符号;

四、为什么要使用强制转换

经测试,如下代码无效,具体原因暂为探究;

<!-- 预设当下拉框选中的值为:'1' -->

<input type="text" th:value="${param.userSex} eq '1'"/><!-- 页面展示结果为:false -->
<input type="text" th:value="${param.userSex} eq 1"/><!-- 页面展示结果为:false -->
<input type="text" th:value="${param.userSex=='1'}"/><!-- 页面展示结果为:false -->
<input type="text" th:value="${param.userSex==1}"/><!-- 页面展示结果为:false -->

<!-- 试了很多写法....都没出效果,不一一列举了 -->

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值