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

Da JAVA a C# passando per PHP, SQL ed HTML
Rispondi
Avatar utente
dino
Messaggi: 16580
Iscritto il: mercoledì 30 novembre 2011, 18:21

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

Messaggio 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"%>
_____________________________
Working harder: http://www.dinofratelli.it
Listen House Music: https://www.dinobrosdj.it
Safety online https://omniadpi.it/

Rispondi