关于Thymyleaf中下拉菜单几点需要注意的问题

第一个问题:下拉菜单文字未显示完整;

先来看源码:

 <li>
	<p>分类名称:</p>
	<select name="className" class="form-control m-b" th:with="type=${@dict.getType('sys_zyjn_class')}">
	<option value="" th:selected="true">全部分类</option>
	<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
	</select>
</li>

效果图如下:

解决方案,把发select下拉菜单中的class样式去掉即可恢复正常,去掉后的select源码为:

 <select name="className"  th:with="type=${@dict.getType('sys_zyjn_class')}">

效果:

 此外,在thymeleaf下拉菜单中有2个问题需要注意:

第二个问题:option中选项如果为字典值,是不带“全部分类”的这个值的,那么就会出现页面初步加载出来的是字典第一个值的数据,而不是全部数据,如果我们希望页面初步加载出来的就是全部数据怎么办?此时需要我们手动添加一个全部分类的option选项,详细写法参照第一段代码;

第三个问题:关于value,如果value有具体的数值,此时用th:value是没有问题的,如果像全部分类里边是空值:此时用th:value=""就会报错的了,具体错误如下:

怎么解决呢,就是把th:value=""中的th:去掉,概括如下:

value里边是具体的数值,表达式为 

th:value="${dict.dictValue}"

如果value的值为空,表达式为

value=""
发布了137 篇原创文章 · 获赞 28 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/shenxiaomo1688/article/details/104471963