从JSP页面中的当前一年获取前一年

时间:2012-04-01 13:30:26

标签: jsp date jstl

看似简单,但不适合我。我可以通过以下方式获得当前年份:

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

但是我不能在结果值中做一个简单的-1因为操作在那里死了,就像html文本一样。我希望从那个$ {date}那一年开始,但是,这是一个约会。

我正在寻找一个非scriptlet,最好是JSTL解决方案。 提前谢谢。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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}