将所选属性正确添加到选择选项框

Issue adding selected attribute to selection option box correctly

我有一个名为 'CMDSchedStatus' 的 select 选项框,其中包含一个选项列表。我正在尝试根据我之前设置的会话变量设置 'selected' 属性:

   session.setAttribute("Status",wkStatus) ;

我的 JSP 中有以下代码,但我显然在语法错误上做错了:

    <select size="1" id="CMDSchedStatus" name="CMDSchedStatus" class="combosmall">
       <option value=""></option>
       <option value="NP" <c:if test="${Status == "NP"}"> <c:out value= "selected=selected"/>  </c:if> >NP</option>
       <option value="RP" <c:if test="${Status == "RP"}"> <c:out value= "selected=selected"/>  </c:if> >RP</option>
       <option value="VP" <c:if test="${Status == "VP"}"> <c:out value= "selected=selected"/> </c:if> >VP</option>
       <option value="CP" <c:if test="${Status == "CP"}"> <c:out value= "selected=selected"/> </c:if> >CP</option>
    </select> 

你能看看这个,看看是什么导致了语法错误,处理是否真的正确?似乎更聪明的方法是某种 foreach 但无法用固定值弄清楚

谢谢

请尝试这个工作示例。

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<c:set var="myList" value="NONE,NP,RP,VP,CP"/>
<c:set var="Status" value='${param.CMDSchedStatus}'/>   
<html>
    <body>
        <form>
            <select size="1" id="CMDSchedStatus" name="CMDSchedStatus" class="combosmall">
            <c:forEach items="${myList}" var="current">
                <option value="${current}"
                <c:if test="${current == Status}"> selected="selected"</c:if>
                >${current}</option>
            </c:forEach>
            </select> 
            <input type="submit" />
        </form>
    </body>
</html>