我可以通过提供month
值在JSLT
中获得int
的名称。
比如,如果i = 1而不是1月,那么没有......
无效
<fmt:formatDate pattern="M" dateStyle="long" value="${monthInt}" />
答案 0 :(得分:3)
您可以将<jsp:useBean>
用作:
<jsp:useBean id="monthNames" class="java.text.DateFormatSymbols" />
<c:set value="${monthNames.months}" var="months" />
现在,我使用与索引相对应的<c:set>
初始化了月份列表。
您可以使用months
中声明的var
来访问它。
您可以将其用作${months[0]}
,它会为您提供January
。
希望它能奏效。!!
答案 1 :(得分:2)
JSTL希望Date
标记提供fmt:formatDate
。在示例中,提供了int
。如果您从int
对象中提取了此Date
,则只需传递Date
,而无需提取月份值。
<fmt:formatDate pattern="M" dateStyle="long" value="${someDate}" />
答案 2 :(得分:1)
这不起作用。该标记将Date
对象格式化为String
,因此value
必须为Date
。你给的是int
。
如果您需要一个月份列表,那么您可能需要考虑创建一个列表并将其放入会话中。
答案 3 :(得分:1)
另一种方式:
<fmt:parseDate value="${monthInt}" dateStyle="long" pattern="M" var="monthDate"></fmt:parseDate>
<fmt:formatDate value="${monthDate}" pattern="MMMM"></fmt:formatDate>