我的jsp中有以下标记:
<form:select id="ddlSkillLevelCoreFrom1" path="aarKpis" multiple="false" class="notSelectable skillsFrom qar_dd war_skill5 validate[required]">
<option value="">Please select a Skill Level From</option>
<c:forEach var="skillLevel" items="${skillLevels}">
<c:if test="${selectedSoftSkill.skillLevelId == skillLevel.skillLevelId}">
<option selected="selected" value="${skillLevel.skillLevelId}">
<c:set scope="request" var="skillLevelFromSelected">${skillLevel.skillLevelId}</c:set>
<c:out value="${skillLevel.name}" />
</option>
</c:if>
<c:if test="${selectedSoftSkill.skillLevelId != skillLevel.skillLevelId}">
<option value="${skillLevel.skillLevelId}">
<c:out value="${skillLevel.name}" />
</option>
</c:if>
</c:forEach>
</form:select>
<form:select id="ddlSkillLevelCoreTo1" path="aarKpis" multiple="false" class="notSelectable skillsTo qar_dd war_skill5 validate[required]">
<option value="">Please select a Skill Level To</option>
<c:forEach var="skillLevel" items="${skillLevels}">
<c:if test="${skillLevel > skillLevelFromSelected}">
<option value="${skillLevel.skillLevelId}">
<c:out value="${skillLevel.name}" />
</option>
</c:if>
</c:forEach>
</form:select>
正如您在第一种形式中看到的那样:根据先前选择的值选择我使用 c:set 在变量中设置相同的值。然后我想使用该值来过滤并显示所有具有比第二种形式中的值更大的 Id 的元素:select。出于某种奇怪的原因,它以第二种形式显示所有未过滤的元素:select。你能发现我错过了什么。
感谢您花时间回答我的问题。