JSTL循环选择从表单传递的正确值



我试图拥有一个组合框,该组合框默认为从形式传递的正确值。基本上是几天的下拉,以及一个月的第一个和末日选项。这是我拥有的逻辑:

<select id="f9-1-13c" name="domNotify" value="${eBoxForm.domNotify}>
          <option value="-1"><fmt:message key="label.select_day" bundle="${i18nForm}" /></option>
          <option value="0"><fmt:message key="label.first" bundle="${i18nForm}" /></option>
          <option value="32"><fmt:message key="label.last" bundle="${i18nForm}" /></option>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
          <option value="5">5</option>
          <option value="6">6</option>
          <option value="7">7</option>
          <option value="8">8</option>
          <option value="9">9</option>
          <option value="10">10</option>
          <option value="11">11</option>
          <option value="12">12</option>
          <option value="13">13</option>
          <option value="14">14</option>
          <option value="15">15</option>
          <option value="16">16</option>
          <option value="17">17</option>
          <option value="18">18</option>
          <option value="19">19</option>
          <option value="20">20</option>
          <option value="21">21</option>
          <option value="22">22</option>
          <option value="23">23</option>
          <option value="24">24</option>
          <option value="25">25</option>
          <option value="26">26</option>
          <option value="27">27</option>
          <option value="28">28</option>
          <option value="29">29</option>
          <option value="30">30</option>
          <option value="31">31</option>
        </select>

我的问题是,我将如何制作一个循环以选择适当的值,包括第一个和最后一个逻辑,而无需为每个值提供IF语句方法。

从我了解的内容中,您想在第一个页面渲染时显示所选值,如果这样,您必须存储并从服务器返回的选定值

在Servlet或您使用的任何MVC框架

request.setAttribute("selectedDay", selectedDay);
request.setAttribute("daysInMonth", daysInMonth); //daysInMonth is a List/Collection of all days

在JSP

    <select id="f9-1-13c" name="domNotify" value="${eBoxForm.domNotify}>
      <option value="-1"  ${selectedDay == -1 ? 'selected' : ''}><fmt:message key="label.select_day" bundle="${i18nForm}" /></option>
      <option value="0"  ${selectedDay == 0 ? 'selected' : ''}><fmt:message key="label.first" bundle="${i18nForm}" /></option>
      <option value="32"  ${selectedDay == 32 ? 'selected' : ''}><fmt:message key="label.last" bundle="${i18nForm}" /></option>
   <c:forEach items="${daysInMonth}" var="day">
            <option value="${day}" ${day== selectedDay ? 'selected' : ''}>${day}</option>
        </c:forEach>
    </select>

最新更新