Dúvida básica JSP

4 respostas
tati.mat.moreira

Oi pessoal,

não estou conseguindo instanciar minha classe com jsp. Usando scriplet eu consigo:
<body>

<%
	DaoFactory factory = new DaoFactory();
	Dao<Pessoa> dao = factory.getPessoaDao();	
%>

<%
	for(Pessoa p : dao.listaTudo()){
%>		
	<li><%=p 
	%>	
	</li>
	<br>	
<% 		
	}
%>

</body>
Como que eu faço pra obter um dao usando USEBEAN?
<body>

	<jsp:useBean id="factory" class="com.jsp.teste.dao.DaoFactory"></jsp:useBean>


</body>

Bjos!

4 Respostas

Pedrosa

Esse forEach do Java não funciona no JSP, segue um exemplo de uso de useBean mais jstl a tag <c:forEach> para percorrer listas no JSP:

<%@ taglib uri=http://java.sun.com/jsp/jstl/core" prefix="c" %>  
    <%@ page isELIgnored="false"%>  
    <jsp:useBean id="dao" class="br.com.caelum.jdbc.ContatoDAO"/>  
    <html>  
    <head>  
    <title>Usando o JSTL</title>  
    </head>  
   <body>  
   <c:forEach var="contato" items="${dao.lista}">  
   <li>  
       nome: ${contato.nome},  
       email ${contato.email},  
       endereco ${contato.endereco}  
   </li>  
   </c:forEach>  
   </body>  
   </html>
tati.mat.moreira
Certo... tirando o FOR... a dúvida é como instanciar usando USEBEAN. Em scriplet é assim:
<%
	DaoFactory factory = new DaoFactory();
	Dao<Pessoa> dao = factory.getPessoaDao();	
%>
Gostaria de saber como fazer o mesmo código com JSP. Algo do tipo:
<body>
	<jsp:useBean id="factory" class="com.jsp.teste.dao.DaoFactory"></jsp:useBean>
</body>

Thanks...

von.juliano

Se poder usar JSTL, pode fazer assim:

<jsp:useBean id="factory" class="com.jsp.teste.dao.DaoFactory" /> <c:set var="dao" value="${factory.userDao}" />Agora você tem acesso ao UserDao com ${dao}.

Vê se resolve! Flw! :mrgreen:

tati.mat.moreira

Aeee!

Era disso que eu precisava! Assim não preciso modificar a minha camada de DAOs.

Bjosss

Criado 8 de outubro de 2008
Ultima resposta 8 de out. de 2008
Respostas 4
Participantes 3