html - 使用 jSTL 在现有选择标签上设置所选选项

标签 html jsp jstl

所以我选择了每个科目的成绩。它是预定义的,因此我不必将成绩作为表格存储在数据库中。我有一个资格列表,我像这样为每个资格使用 jSTL:<c:forEach items="${qualificationdetails}" var="qd"> .

我为每个项目生成一个这样的选择。

<select class="grade" title="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.grade}</option>

这将为选择添加一个重复选项。我认为用成绩制作一个数组并将其发送来生成选项会有点“笨拙”。有什么想法吗?

最佳答案

您可以让 JSP 呈现 selected有条件地属性。

<select class="grade" title="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="grades" value="1,2,3,A,B,C,D,E" scope="application" />
<select class="grade" title="Grade Obtained">
    <c:forEach items="${fn:split(grades, ',')}" var="grade">
        <option value="${grade}" ${qd.grade == grade ? 'selected' : ''}>${grade}</option>
    </c:forEach>
</select>

这样你最终会得到更多 DRY代码。

关于html - 使用 jSTL 在现有选择标签上设置所选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12008698/

相关文章:

javascript - 下拉警报始终在屏幕顶部 - AngularJS

html - 列表项中的 Bootstrap 侧边栏链接占据了整个按钮

jsp - 为什么要设置 JSP 页面 session = "false"指令?

java - jsp 表单中文本字段的值为 null

java - JSP 标签 + scriptlet。如何启用小脚本?

java - 这是什么java View 技术?

html - div 和 div 中的图像分开执行

javascript - 带有下拉子菜单的 Css 响应式导航

jsp - java.lang.AbstractMethodError : javax. servlet.jsp.JspFactory.getJspApplicationContext

sql - 将结果集结果保存在 arraylist 中