Che dire di questo sporco trucco:
<c:set
var="expiry"
value="${(((expire.time - now.time)/(60 * 1000) * 100) - 0.5)/100.0}"/>
Ma vorrei fare questo in un fagiolo e solo mostrare il risultato qui. Accanto a questo, è possibile define functions in your tld o, se non è supportato nel proprio ambiente, ottenere funzioni nel linguaggio delle espressioni implementando una mappa e (ab) usarlo. Si implementa il metodo get (Object) per fare quello che vuoi e chiamare in questo modo:
<c:set
var="expiry"
value="${Helpers.round[(expire.time - now.time)/(60 * 1000)]"/>
nota, Helpers fornisce un metodo "getRound()" che restituisce l'implementazione Map.
fonte
2009-09-18 09:19:29
Sono d'accordo con questa risposta. JSTL non dovrebbe preoccuparsi di "correttamente" implementare qualsiasi logica come l'arrotondamento. Questa è una decisione di medio livello. JSP e JSTL dovrebbero essere solo per la visualizzazione. Il tag di formato è la cosa giusta da fare. – duffymo
Attenzione, dipende dalla locale corrente https://stackoverflow.com/a/16899830/1606662 – Chintsu