我有一个选择框。有4个值(使用jstl标签生成)和加载按钮就在那里。
我在点击加载按钮时调用struts动作
在struts动作类中,我添加了request.getAttribute("TA",value);
现在我想在jsp页面中保留以前选择的值
<%if(request.getAttribute("TA")!=null && request.getAttribute("TA").equals("Cloud")) {%>
<option value='${i.thematicArea}' selected>${i.thematicArea}</option>
<%} else {%>
<option value='${i.thematicArea}'>${i.thematicArea}</option>
<%} %>
</c:forEach>
</select>
</td>
<td><input type="submit" id="button" name="button" value="Load"></td>
我想与${i.thematicArea}
而不是云进行比较。如何使用jstl做到这一点
例如:
request.getAttribute("TA").equals("Cloud"))
instead of cloud i want to check with ${i.thematicArea}
提前致谢
答案 0 :(得分:1)
一种干净的方式是这样的(使用三元运算符将它减少到一行):
<select>
<c:forEach items="..." var="i">
<option value='${i.thematicArea}' ${requestScope.TA == i.thematicArea ? 'selected' : ''}>${i.thematicArea}</option>
</c:forEach>
</select>
答案 1 :(得分:0)
像这样的东西
<c:if test="${not empty TA and TA eq i.thematicArea}">
<option value='${i.thematicArea}' selected>${i.thematicArea} </option>
</c:if>
<c:if test="${empty TA or not TA eq i.thematicArea}">
<option value='${i.thematicArea}'>${i.thematicArea}</option>
</c:if>
如果要在option
标记上应用不同的标记,请使用此选项。