jstl循环选择从表单传递的适当值

时间:2014-01-29 22:05:08

标签: jsp loops combobox 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语句方法。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您希望在首次渲染时显示所选值,如果是这样,您必须存储所选值并从服务器返回

在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>