2012-04-01 173 views
2

似乎很简单,但不适合我。我可以得到当前的一年:从JSP页面中的当前页面获取上一年

<jsp:useBean id="date" class="java.util.Date" /> 
<fmt:formatDate value="${date}" pattern="yyyy" /> 

但由于操作死在那里,因为HTML文本,我不能做一个简单的-1所得到的值。我希望从$ {date}开始的年份为-1,但是,这是一个日期。

我正在寻找一个非scriptlet,最好是JSTL解决方案。 预先感谢您。

回答

4

JSTL转换值的基础上适当coercions rules between object and primitives的页面,所以这应该工作:

<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>

2

您可以使用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} 
+0

对不起,我没有看到波格丹的答案,而打字我的。 – rickz 2012-04-01 15:23:09