jsp - parsedate - jstl
Cómo imprimir la fecha actual en JSP? (4)
Quiero hacer algo como esto:
<?php echo date(''Y''); ?>
Pero luego en un archivo .jsp
. Todos los tutoriales que estoy viendo requieren construir una clase en alguna parte. Estamos ejecutando appFuse y Tapestry. Seguramente uno de esos (si no es el propio Java) nos proporciona algo para hacer este tipo de cosas sin toda esa sobrecarga.
Parece que debería funcionar, pero no:
<%= new Date.getYear() %>
Debería escribir JSP utilizando JSTL y usar sus etiquetas <fmt>
para formatear fechas y <fmt>
por el estilo.
Mi solución:
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%
GregorianCalendar cal = new GregorianCalendar();
out.print(cal.get(Calendar.YEAR));
%>
Use jsp:useBean
para construir una instancia java.util.Date
y use JSTL fmt:formatDate
para formatearla en una cadena legible por humanos utilizando un patrón SimpleDateFormat
.
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="date" class="java.util.Date" />
Current year is: <fmt:formatDate value="${date}" pattern="yyyy" />
La antigua manera de scriptlet sería:
<%= new java.text.SimpleDateFormat("yyyy").format(new java.util.Date()) %>
Tenga en cuenta que debe especificar el nombre completo de clase calificado cuando no utilice las directivas de @page import
, que probablemente fue la causa de su problema. Sin embargo, el uso de scriptlets es muy desalentador desde hace una década.
Todo esto se muestra en la página de información de la etiqueta [jsp]
también :)
<%= new java.util.Date().getYear() + 1900 %>