Nada retorna: <jsp:useBean id="data" class="java.util.Date"/>

Olá a todos! :slight_smile:

estou iniciando os estudos em java para a universidade, e pelos resultados da minha busca, minha dúvida parece ser recorrente aqui no fórum. acredito que seja relacionada à classe java.util.Date…
eis o que devo implementar:

conteudo.jsp

[code]<jsp:useBean id=“data” class=“java.util.Date”/>

JSPages <%@ include file="cabecalho.jsp"%> Nome:
Data de Nascimento: <%@ include file="rodape.jsp"%> [/code]

recuperaInformacoes.jsp

[code]<%@ taglib prefix=“c” uri=“http://java.sun.com/jstl/core” %>

Java Server Pages <%@ include file="cabecalho.jsp" %> Você informou os seguintes dados:
Nome:
Data de Nascimento:
<%@ include file="rodape.jsp" %> [/code]

rodape.jsp

<h3>hoje é <c:out value="${data}"/></h3>

a data não aparece em nenhuma das páginas. após buscas sobre o useBean, tentei usar alguns parâmetros (?) para scope, e consegui que a data aparecesse no recuperaInformacoes.jsp utilizando “session” e “application”, mas ainda assim, nada aparece no conteudo.jsp, apenas o texto “hoje é”.

p.s.>> cabeçalho.jsp é apenas uma frase
p.p.s>> essa é a exata transcrição do código como aparece no meu material didático.
p.p.p.s>> estou usando o Tomcat 5.5.27

Ola,

O que acontece é que as DIRETIVAS include (@include) ocorrem em tempo de compilacao… diferente da standard action jsp:useBean, que é em tempo de execução.

Resultado: qdo vc roda seu projeto, antes de chegar no jsp:useBean o codigo da pagina do rodapé ja esta la, anexado ao codigo da sua pagina original. (Pense em @include como ctrl+c ctrl+v em tempo de compilacao). É por isso que a data fica em branco.

Vc pode solucionar isso trocando as suas diretivas include, por standard actions <jsp:include page=“rodape.jsp”>, por exemplo.