我的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。由于一些奇怪的原因,它显示了第二种形式中未过滤的所有元素:选择。你能发现我错过的东西吗?
感谢您抽出宝贵时间回答我的问题。
答案 0 :(得分:0)
此处:<c:if test="${skillLevel > skillLevelFromSelected}">
SkillLevelFromSelected
是一个ID,所以您不应该只使用skillLevel.skillLevelId
代替skillLevel
吗?