JSTL formatDate 始终将模式“MMM”格式化为“MMM”。至“Jan”
在 foreach 循环中,我设置 curMonth
和 curDisplayedMonth
如下:
<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />
<fmt:formatDate value="${curDate}" type="date" pattern="MMM" var="curDisplayedMonth" />
并在下拉列表中使用它们,
<option value="<c:out value="${curMonth}"/>" <c:if test="${selectedMonth == curMonth}">selected</c:if>>
<c:out value="${curDisplayedMonth}"/>
</option>
但它会将所有格式设置为 Jan:
并且选项中的值正确:
In a foreach loop, I set curMonth
and curDisplayedMonth
as follows:
<fmt:formatDate value="${curDate}" type="date" pattern="m" var="curMonth" />
<fmt:formatDate value="${curDate}" type="date" pattern="MMM" var="curDisplayedMonth" />
and use them in the dropdown list as
<option value="<c:out value="${curMonth}"/>" <c:if test="${selectedMonth == curMonth}">selected</c:if>>
<c:out value="${curDisplayedMonth}"/>
</option>
but it formats all to Jan:
and the values in the options are correct:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要更正您的
pattern
选项。要使用 JSTL formatDate 显示月份,请使用以下选项:另外,在上面的示例中:
pattern="m"
代表分钟。You need to correct your
pattern
option. For displaying the month with JSTL formatDate, use the following options:Also, in your example above:
pattern="m"
represents the minute.type
和pattern
属性是互斥的。您可以使用其中之一,但不能同时使用两者。type
属性只是指定某些常见模式的便捷方法。如果您想使用
pattern
,则应删除type="date"
属性。The
type
andpattern
attributes are mutually exclusive. You use one or the other, but not both.The
type
attribute is just a convenient way to specify certain common patterns.If you want to use
pattern
, you should remove thetype="date"
attributes.