java - 相同的选项在下拉列表中被选择两次,如何停止?

标签 java html jsp servlets jstl

我正在尝试构建一个项目,用户在其中提交票证并可以在提交后稍后对其进行编辑。在创建票证页面上有一个下拉菜单,用于选择票证的优先级,其中包含选项 - 最高、高、中、低。数据库中有一个优先级选项表。当用户单击与票证对应的编辑链接时,用户将被转发到编辑页面,其中显示票证的不同字段。为了显示优先级菜单的选定选项,我正在这样做,如下所示

<select name="priority">
 <c:forEach var="priority"items="${priorityList }">
    <c:if test="${tempTicket.priorityId == priority.priorityId}">
        <option value="${priority.priorityId }" selected="selected">${priority.priorityName}</option>
    </c:if>
   <option value="${priority.priorityId }">${priority.priorityName </option>
 </c:forEach>
</select>

在此情况下,所选选项在编辑页面的下拉列表中显示两次,如何停止?还有其他方法可以实现相同的目的吗?我尝试过使用两个 <c:if>

最佳答案

第一个解决方案:

<c:if test="${tempTicket.priorityId != priority.priorityId}">
    <option value="${priority.priorityId }">${priority.priorityName }</option>
</c:if>

第二个解决方案:

<c:choose>
    <c:when test="${tempTicket.priorityId != priority.priorityId}>
        ...
    </c:when>
    <c:otherwise>
        ...
    </c:otherwise>
</c:choose>

第三个(也是最好的)解决方案:

<option value="${priority.priorityId }" 
        <c:if test="${tempTicket.priorityId == priority.priorityId}">selected="selected"</c:if>>
    ${priority.priorityName}
</option>

关于java - 相同的选项在下拉列表中被选择两次,如何停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29468159/

相关文章:

javascript - RequestDispatcher 转发到已加载的 JSP

java - 如何在 Spring Data 中将 Java 实体映射到多个 MongoDB 集合?

java - 使用 CSS 在 JavaFX 中设置 RadioButton 子元素的样式

java - 复制数组,添加元素 Java

html - 如何在标题周围创建双面虚线?

javascript - jQuery UI 可拖动不适用于 jQueryUI 1.12.1

html - CSS 主体宽度未填充 100%

java - 无法从结果集中的数据库中获取所有数据

jsp - HTTP 状态 405 - JSP 仅允许 GET POST 或 HEAD

java - spring java配置环境变量