JSTL只有標記爲parse和format的日期,而不是操縱日期。你最好的度假村是EL(那些${}
的東西)。由於Servlet 3.0/EL 2.2也支持JSP中的方法表達式。然後您可以使用其他方法Calendar#set()
和Calendar#add()
方法。誠然,這很不好,但正如你所要求的「純JSTL」,這是你最好的。
<jsp:useBean id="firstDayOfMonth" class="java.util.GregorianCalendar">
${firstDayOfMonth.set(5,1)}
</jsp:useBean>
<jsp:useBean id="firstDayOfPreviousMonth" class="java.util.GregorianCalendar">
${firstDayOfPreviousMonth.set(5,1)}
${firstDayOfPreviousMonth.add(2,-1)}
</jsp:useBean>
<jsp:useBean id="firstDayOfNextMonth" class="java.util.GregorianCalendar">
${firstDayOfNextMonth.set(5,1)}
${firstDayOfNextMonth.add(2,1)}
</jsp:useBean>
(這些表達式僅僅是用於嵌套在<jsp:useBean>
內部自紀實的目的,可以將它們放在外面,但它可能是對於初學者更混亂;所述第一參數(5
RESP 2
)是由。恆場Calendar.DAY_OF_MONTH
和Calendar.MONTH
)
現在的路徑值,你可以如下呈現它們通過Calendar#getTime()
通常的方式:
<fmt:formatDate value="${firstDayOfMonth.time}" pattern="dd/MM/yyyy"/>
<fmt:formatDate value="${firstDayOfPreviousMonth.time}" pattern="dd/MM/yyyy"/>
<fmt:formatDate value="${firstDayOfNextMonth.time}" pattern="dd/MM/yyyy"/>
如果你還沒有使用EL 2.2,那麼你最好的選擇是準備一個servlet。
檢查我的最新編輯 – CrazyProgrammer