thymeleaf的下拉框(selectoption)回显选中
在开发⼀个⾜球联赛管理系统中,需要在修改页⾯使⽤thymeleaf模板引擎先从数据库中取出数据显⽰在页⾯中,然后再对要修改的数据分别进⾏修改。
在input或者textarea的回显都没有什么问题,只要之前传了对象过来,那么就在input标签⾥加上例如th:value="*{startDate}"即可,那么输⼊框⾥变会显⽰数据库中已有的数据,点击后可进⾏修改。
thyme
但是select标签相对会特殊⼀点,我们需要进⾏⼀个判断,判断数据库中选中的是哪个option,然后在回显页⾯将它默认选中,同时点击下拉框后还可以选中修改成其它选项。
因为我刚开始对thymeleaf模板引擎不是很熟悉,所以在⽹上了很多⽅案,也⼀个⼀个试了,很多对于我这个程序并没有作⽤,但是这⾥也都列出来作为⼀个解决⽅案的参考。
解决⽅案⼀
使⽤switch+case的⽅式进⾏判断
可以看到,虽然的确从数据库中取出了数据库中已保存的值并显⽰到页⾯中并且已选中,但是下拉框中其他的选项却并没出现。这样就⽆法修改该属性。所以这个⽅法对我这个程序并不适⽤,当然也可能我程序哪⾥写的有问题。
解决⽅案⼆
使⽤th:if进⾏判断
和上⼀种⽅式是⼀样的效果,同样从数据库中获取到了已有数据显⽰在页⾯中并选中,但是下拉框中其他的选项不出现。我怀疑可能还是我的程序漏写了某个部分。
最终成功的解决⽅案
⾸先不进⾏判断,先显⽰出所有的选项,保证可以进⾏修改的操作。然后再在selected这个属性⾥进⾏判断,从数据库中获取的值是否等于该选项的value,如果等于,则选中。
可以看到,最终的效果就是⾸先默认是数据中已有的数据,并且是选中状态。然后下拉框中有其他的选项可以选中从⽽完成修改操作。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。