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

1 resposta
Miss_Murder

Olá a todos! :)

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
<jsp:useBean id="data" class="java.util.Date"/>
<html>
<head>
<title>JSPages</title>
</head>
<body>
<%@ include file="cabecalho.jsp"%>
<form action="recuperaInformacoes.jsp" method="post">
Nome: <input type="text" name="nome"/><br/>
Data de Nascimento: <input type="text" name="dtaNascimento"/>
<input type="submit" value="Enviar"/>
</form>
<%@ include file="rodape.jsp"%>
</body>
</html>
recuperaInformacoes.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
<title>Java Server Pages</title>
</head>
<body>
<%@ include file="cabecalho.jsp" %>
Você informou os seguintes dados:<br/>
Nome: <c:out value="${param.nome}"/><br/>
Data de Nascimento: <c:out value="${param.dtaNascimento}"/><br/>
<%@ include file="rodape.jsp" %>
</body>
</html>
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

1 Resposta

fabim

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.

Criado 5 de outubro de 2008
Ultima resposta 6 de out. de 2008
Respostas 1
Participantes 2