Pagina 1 di 1

JSP (JSTL): ottenere anno corrente da usare in c:if o c:out

Inviato: martedì 10 luglio 2012, 14:08
da dino
L'uso dei custom tag nelle pagine JSP risulta essere cosa davvero comoda ma non sempre tutte le funzioni sono ben documentate o accessibili.

Uno dei casi cui mi sono spesso scontrato è stato quello di recuperare l'anno (o una delle parti di una data in generale come mese o giorno) per confrontarla col valore di un campo o di un contatore. Ad esempio, in un ciclo ove si scorre su un array di anni e si vuole confrontare il valore con l'anno corrente. Ecco uno snippet:

Codice: Seleziona tutto

<jsp:useBean id="now" class="java.util.Date"/>
<logic:iterate id="anno" name="anni">
<c:if test="${anno == (now.year + 1900)}">
... faccio qualcosa ...
</c:if>						
</logic:iterate>
Come vedete dal codice dovrete fare attenzione perché now.year restituisce la differenza rispetto al 1900. Ricordatevi di importare sulla pagina le corrette librerie di tag:

Codice: Seleziona tutto

<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>