使用jstl在现有选择标记上设置选定选项 [英] Set selected option on existing select tag with jstl

查看:105
本文介绍了使用jstl在现有选择标记上设置选定选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我选择了每个科目的成绩。它是预定义的,因此我不需要将成绩作为表格存储在数据库中。我有资格的列表,并且我使用JSTL对于每个这样的: c为C:的forEach项= $ {qualificationdetails} VAR = QD >



对于每个项目,我都会生成一个像这样的选择。

 < ; select class =gradetitle =Grade Obtained> 
< option value =1> 1< / option>
< option value =2> 2< / option>
< option value =3> 3< / option>
< option value =A> A< / option>
< option value =B> B< / option>
< option value =C> C< / option>
< option value =D> D< / option>
< option value =E> E< / option>
< / select>

是否可以使用我的变量 qd 设置选定的选项?类似于

 < option value =$ {qd.grade}selected =selecetd> $ {qd。级}< /选项> 

这将为select添加一个重复选项。我认为这将有点笨重,与成绩组成一个阵列,并把它发送到生成选项。任何想法?

解决方案

您可以让JSP呈现选定的属性

 < select class =gradetitle =Grade Obtained> 
< option value =1$ {qd.grade =='1'? 'selected':''}> 1< / option>
< option value =2$ {qd.grade =='2'? 'selected':''}> 2< / option>
< option value =3$ {qd.grade =='3'? 'selected':''}> 3< / option>
< option value =A$ {qd.grade =='A'? 'selected':''}> A< / option>
< option value =B$ {qd.grade =='B'? 'selected':''}> B< / option>
< option value =C$ {qd.grade =='C'? 'selected':''}> C< / option>
< option value =D$ {qd.grade =='D'? 'selected':''}> D< / option>
< option value =E$ {qd.grade =='E'? 'selected':''}> E< / option>
< / select>

或者,您可以创建一个集合/数组并将其存储在应用程序范围中,它在EL中可用,以便您可以使用< c:forEach> 来遍历它。我不确定那会是多么笨重。您可以使用< c:set> 来存储它们的逗号分隔,并使用 fn:split() < c:forEach>

 < c:set var =gradesvalue =1,2,3,A,B,C,D,Escope =application/> 
发送“验证码”获取 | 15天全站免登陆