看起来很简单,但对我来说不是。我可以用获得当前年份
<jsp:useBean id="date" class="java.util.Date" />
<fmt:formatDate value="${date}" pattern="yyyy" />
但我不能在结果值中做一个简单的-1,因为操作在那里就死了,就像html文本一样。我很想在那${日期}后的一年里-1,但是,好吧,这是一个日期。
我正在寻找一个非scriptlet,最好是JSTL解决方案。提前谢谢。
JSTL根据对象和基元之间的适当强制规则转换页面中的值,因此这应该有效:
<jsp:useBean id="date" class="java.util.Date" />
<fmt:formatDate value="${date}" pattern="yyyy" var="currentYear" />
<c:out value="${currentYear}" /> /
<c:out value="${currentYear - 1}" />
或者,根据您的JSP版本,您可以直接使用${currentYear}
和${currentYear - 1}
而不使用<c:out>
。
您可以使用EL.
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
<fmt:formatDate var="now" value="${date}" pattern="y" />
Previous year is ${now - 1}