2013-08-20 97 views
3

我可以通過給出int值來獲得JSLT中的month的名稱。 一樣,如果我= 1比一月所以沒...從int值獲取月份

它不工作

<fmt:formatDate pattern="M" dateStyle="long" value="${monthInt}" /> 

回答

2

JSTL需要一個Date被提供給fmt:formatDate標籤。在這個例子中,提供了一個int。如果您已從Date對象中提取此int對象,則只需傳遞該對象Date,而不需要提取月份值。

<fmt:formatDate pattern="M" dateStyle="long" value="${someDate}" /> 
+0

我'int'值不'Date' – Avinash

+1

我明白,但JSTL需要一個日期 –

1

這是行不通的。標籤將Date對象格式化爲String,因此value需要爲Date。你給它一個int

如果您需要一個月的列表,那麼您可能需要考慮創建一個列表並將其放入會話中。使用<c:set>對應指數

<jsp:useBean id="monthNames" class="java.text.DateFormatSymbols" /> 
<c:set value="${monthNames.months}" var="months" /> 

現在,我已經初始化個月的名單:

3

你可以使用<jsp:useBean>作爲。 您可以使用在var中聲明的months來訪問它。

你可以使用它作爲${months[0]}它會給你January

希望它能工作。

+1

感謝德文德拉。它爲我工作很好。 :) – Avinash

1

另一種方式:

<fmt:parseDate value="${monthInt}" dateStyle="long" pattern="M" var="monthDate"></fmt:parseDate> 
<fmt:formatDate value="${monthDate}" pattern="MMMM"></fmt:formatDate>