2011-11-23 74 views
0

而不是在我的下拉列表中對年份進行硬編碼,而是將一年的時間作爲第一個選項值,然後希望以下2個值爲上一年等等。類似這樣的:以HTML格式操作日曆年

<select name="workloadYear"> 
    <option value="2008" <c:if test="${form.workloadYear == 2008}">selected="selected"</c:if>>2008</option> 
    <option value="2007" <c:if test="${form.workloadYear == 2007}">selected="selected"</c:if>>2007</option> 
    <option value="2006" <c:if test="${form.workloadYear == 2006}">selected="selected"</c:if>>2006</option> 
</select> 

我該怎麼做,而不用硬編碼這些年?

回答

2

你可以得到當年在EL如下:

<jsp:useBean id="now" class="java.util.Date" /> 
<fmt:formatDate var="year" value="${now}" pattern="yyyy" /> 

(它現在可作爲${year}

可以使用<c:forEach>做JSP一個循環:

<select name="workloadYear"> 
    <c:forEach begin="0" end="2" varStatus="loop"> 
     <c:set var="currentYear" value="${year - loop.index}" /> 
     <option value="${currentYear}" ${form.workloadYear == currentYear ? 'selected="selected"' : ''}>${currentYear}</option> 
    </c:forEach> 
</select> 

這將顯示當前年份和前兩年作爲選項。

+0

嘿男人,看起來有點光滑...即時回合試試 –

+0

嘿男人...謝謝我沒有需要頂部..我剛剛通過我的一年,它的工作很好!!! ...感恩節快樂 –

+0

不客氣。 – BalusC