表达式语言中的日历对象

ian*_*naz 1 java jsp el

如何以表达式语言获取日,月和年(以及每个Calendar.XXXXXXX值)?

${object.calendarObject.MONTH}
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 5

您可以使用在EL中${calendar.time}获取Date对象.您可以使用JSTL <fmt:formatDate>Date对象格式化为JSP中的可读字符串.它使用SimpleDateFormat了封面,并通过pattern属性支持其所有模式.

在下面的例子中,为简洁起见,我假设${cal}是日历.${object.calendarObject}在适用的时候用你的代替.

<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
...
<ul>
  <li>Standard date/time: <fmt:formatDate value="${cal.time}" type="both" /></li>
  <li>Standard date: <fmt:formatDate value="${cal.time}" type="date" /></li>
  <li>Day: <fmt:formatDate value="${cal.time}" pattern="d" /></li>
  <li>Month: <fmt:formatDate value="${cal.time}" pattern="M" /></li>
  <li>Year: <fmt:formatDate value="${cal.time}" pattern="yyyy" /></li>
  <li>dd-MM-yyyy: <fmt:formatDate value="${cal.time}" pattern="dd-MM-yyyy" /></li>
  <li>MM/dd/yyyy: <fmt:formatDate value="${cal.time}" pattern="MM/dd/yyyy" /></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

截至目前,这应该产生类似(英语语言环境,GMT + 1):

  • 标准日期/时间:2011年7月6日下午10:34:17
  • 标准日期:2011年7月6日
  • 日:6
  • 月:7
  • 年份:2011年
  • dd-MM-yyyy:06-07-2011
  • MM/dd/yyyy:07/06/2011