在JSP页面中从当前年份获取上一年



看起来很简单,但对我来说不是。我可以用获得当前年份

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

最新更新