[英]Reverse JSTL for each loop for year (using dropdown)
我想創建一個從當前年份開始的下拉菜單,或者至少從 2016 年開始到 1900 年結束
我只有這個代碼正確,但不能正常工作。
<select id="year" name="year">
<c:forEach begin="1900" end="2016" var="val">
<c:set var="decr" value="${2016-val}"/>
<option value="${decr}" ${birthYear == decr ? 'selected' : ''}>${decr}</option>
</c:forEach>
</select>
嘗試這個。
<select id="year" name="year">
<c:forEach begin="0" end="116" var="val">
<c:set var="decr" value="${2016 - val}"/>
<option value="${decr}" ${birthYear == decr ? "selected='selected'": ''}>${decr}</option>
</c:forEach>
</select>
另一種解決方案,使用動態加載的current year
。
在您的 jsp 文件的頂部添加以下內容,以便加載 fmt 標記庫
<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
然后使用以下命令創建一個名為year
的變量,該變量具有當前年份的值。
<jsp:useBean id="now" class="java.util.Date" />
<fmt:formatDate var="year" value="${now}" pattern="yyyy" />
最后,使用此值,以便以更有效的方式創建所需的select
選項。
<select id="year" name="year">
<c:forEach begin="0" end="${year-1900}" var="age">
<option value="${age}" ${birthYear == age ? "selected='selected'": ""}>${age}</option>
</c:forEach>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.