Recebendo bean de servlet

Ola galera,

Estou usando Actions em meus JSP e com isso estou retornando um bean chamado usuario do meu servlet para uma pagina JSP.

Exemplo

<jsp:useBean id="Usuario" class="br.firma.bean.Usuario"/>
<jsp:setProperty name="Usuario" property="*"/>

Ai começa o meu problema…rsrsrsrs…

Dentro do meu bean Usuario eu tenho um bean chamado Prestador. Como eu faço para mostrar os dados deste prestador? como nome, salario?

Pensei em fazer uma coisa do tipo

<jsp:getProperty name="Usuario" property="prestador.nome"/>

Mais não funciona.

Valeu galera

E ai blz?!

Como esta o codigo do seu bean Usuario?
Teoricamente ele tem um objeto Prestador entao para chamar o nome seria assim:

Mas mostra o código do seu bean.

Abs!

é assim mesmo (você poderia só dar uns espaços entre os atributos das tags)

em EL (que eu recomendo) você poderia usar assim ${usuario.prestador.nome} se o objeto tivesse na requisição não precisa do use bean

acredito q o problema esteja em outro lugar

Codigo Prestador

package br.firma.bean;

import java.util.Date;

/**
 * Classe responsavel pelos dados do Enfermeiro ou
 * Medico
 * 
 * @author Stephany.Batista
 * 
 * @version 1.0 - 07/09/2007 11:16
 */
public class Prestador extends Pessoa{
	int cd_prestador;
	String nr_conselho;
	String tp_prestador;
	Usuario usuario;
	Date dt_cadastro;
	
	public Prestador()
	{
		super();
	}
	/**
	 * 
	 * @return cd_prestador: codigo do prestador
	 */
	public int getCd_prestador() {
		return cd_prestador;
	}
	/**
	 * 
	 * @param cd_prestador
	 */
	public void setCd_prestador(int cd_prestador) {
		this.cd_prestador = cd_prestador;
	}
	/**
	 * 
	 * @return nr_concelho: numero do conselho do 
	 * trabalho
	 */
	public String getNr_conselho() {
		return nr_conselho;
	}
	/**
	 * 
	 * @param nr_conselho
	 */
	public void setNr_conselho(String nr_conselho) {
		this.nr_conselho = nr_conselho;
	}
	/**
	 * 
	 * @return tp_prestador: tipo de prestador
	 * @example M : medico OR 
	 * 			E : Enfermeiro OR
	 * 		    S : Secretario
	 */
	public String getTp_prestador() {
		return tp_prestador;
	}
	/**
	 * 
	 * @param tp_prestador
	 */
	public void setTp_prestador(String tp_prestador) {
		this.tp_prestador = tp_prestador;
	}
	/**
	 * 
	 * @return ds_cadastro: data do cadastro
	 */
	public Date getDt_cadastro() {
		return dt_cadastro;
	}
	/**
	 * 
	 * @param dt_cadastro
	 */
	public void setDt_cadastro(Date dt_cadastro) {
		this.dt_cadastro = dt_cadastro;
	}
	/**
	 * 
	 * @return usuario: objeto reponsavel pelo cadastro
	 */
	public Usuario getUsuario() {
		return usuario;
	}
	/**
	 * 
	 * @param usuario: objeto responsavel pelo cadastro
	 */
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}

Codigo Usuario

package br.firma.bean;

import java.util.Date;

/**
 * Classe responsavel pelos dados do Usuario como senha
 * e login
 * 
 * @author Stephany.Batista
 * 
 * @version 1.0 - 07/09/2007 10:39
 */
public class Usuario {
	String cd_usuario = null;
	String cd_senha = null;
	Prestador prestador = null;
	Date dt_cadastro = null;
	int valido;
	
	/**
	 * 
	 * @return usuario: login do usuario
	 */
	public String getCd_usuario() {
		return cd_usuario;
	}
	/**
	 * 
	 * @param usuario
	 */
	public void setCd_usuario(String cd_usuario) {
		this.cd_usuario = cd_usuario;
	}
	/**
	 * 
	 * @return cd_senha: senha do usuario
	 */
	public String getCd_senha() {
		return cd_senha;
	}
	/**
	 * 
	 * @param cd_senha
	 */
	public void setCd_senha(String cd_senha) {
		this.cd_senha = cd_senha;
	}
	/**
	 * 
	 * @return prestador: Objeto Prestador 
	 */
	public Prestador getPrestador() {
		return prestador;
	}
	/**
	 * 
	 * @param prestador
	 */
	public void setPrestador(Prestador prestador) {
		this.prestador = prestador;
	}
	/**
	 * 
	 * @return dt_cadastro: data do cadastro
	 */
	public Date getDt_cadastro() {
		return dt_cadastro;
	}
	/**
	 * 
	 * @param dt_cadastro
	 */
	public void setDt_cadastro(Date dt_cadastro) {
		this.dt_cadastro = dt_cadastro;
	}
	
	public void setValido(int valido)
	{
		this.valido = valido;
	}
	
	public int getValido()
	{
		return valido;
	}
	
}

Servlet



import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.*;
import br.firma.Usuario;
import br.firma.UsuarioDAO;
import javax.swing.*;

/**
 * Servlet implementation class for Servlet: Controlador
 *
 */
 public class Controlador extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public Controlador() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		Usuario usuario = new Usuario();
		usuario.setCd_usuario(request.getParameter("cd_usuario"));
		usuario.setCd_senha(request.getParameter("cd_senha"));
		
		UsuarioDAO usuarioDAO = new UsuarioDAO();
		usuario = usuarioDAO.Select(usuario);
		
			
		if(usuario == null)
			response.sendRedirect("ErroUsuario.html");
		else
		{
			request.setAttribute("usuario", usuario);
			RequestDispatcher dispatcher = request.getRequestDispatcher("Usuario.jsp");
			dispatcher.forward(request, response);
		}
		
	}  	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}   	  	    
}

UsuarioDAO


package br.pronto.atendimento.dao;

import br.firma.Usuario;
import br.firma.Prestador;
import firma.Cidade;
import firma.DAO;
import java.util.List;
import java.sql.*;
import javax.swing.*;

public class UsuarioDAO implements IDAO<Usuario> {
	Prestador prestador = new Prestador();
	
	Cidade cidade = new Cidade();
	
	Connection con = null;
	
	Statement ps = null;
	
	ResultSet rs = null;
	/*
	String qSelect = "SELECT p.cd_prestador , "
						  +" nr_conselho  , "
						  +" tp_prestador , "
						  +" nr_cpf       , "
						  +" nr_rg        , "
						  +" dt_nascimento, "
						  +" nr_fone      , "
          				  +" nm_prestador , "
						  +" email        , "
						  +" ds_endereco  , "
						  +" nr_cep       , "
						  +" ds_bairro    , "
						  +" cd_cidade    , "
						  +" p.dt_cadastro  "
					+"FROM Usuarios u INNER JOIN Prestador p "
				    +"ON u.cd_prestador = p.cd_prestador ";			    
	*/
	String qSelect = "SELECT p.cd_prestador , "
						  +" p.nm_prestador "
						  +"FROM Usuarios u INNER JOIN Prestador p "
						    +"ON u.cd_prestador = p.cd_prestador ";
	
	public boolean Delete(Usuario usuario) {
		// TODO Auto-generated method stub
		return false;
	}

	public boolean Save(Usuario usuario) {
		// TODO Auto-generated method stub
		return false;
	}

	public Usuario Select(Usuario usuario) {
		con = new DAO().Conecta();
		/*
		qSelect += " WHERE cd_usuario LIKE '"+usuario.getCd_usuario()+"' "
		                +" cd_senha LIKE '"+usuario.getCd_senha()+"' ";
		*/
		try{
			
			ps =  con.createStatement();
			rs = ps.executeQuery(qSelect);
		
			if(rs.next())
			{	
				prestador.setCd_prestador(rs.getInt(1));
				prestador.setNome(rs.getString(2));
				/*
				prestador.setTp_sexo(rs.getString("tp_sexo"));
				prestador.setDt_nascimento(rs.getDate("dt_nascimento"));
				prestador.setEmail(rs.getString("email"));
				prestador.setNr_rg(rs.getString("nr_rg"));
				prestador.setNr_cpf(rs.getString("nr_cpf"));
				prestador.setDs_endereco(rs.getString("ds_endereco"));
				prestador.setNr_fone(rs.getString("nr_fone"));
				prestador.setDs_bairro(rs.getString("ds_bairro"));
				prestador.setNr_cep(rs.getString("nr_cep"));
				cidade.setCd_cidade(rs.getInt("cd_cidade"));
				cidade.setNm_cidade(rs.getString("nm_cidade"));
				cidade.setNr_ddd(rs.getString("nr_ddd"));
				cidade.setCd_uf(rs.getString("cd_uf"));
				cidade.setCd_pais(rs.getInt("cd_pais"));
				prestador.setCidade(cidade);
				usuario.setDt_cadastro(rs.getDate("dt_cadastro"));
				*/
				usuario.setPrestador(prestador);
							
				
			}
			
			else
				return null;
			
			ps.close();
			con.close();
			
		
		}catch(SQLException e){
			System.out.println("Erro: " + e);
		}catch(Exception e1){
			System.out.println("Erro: " + e1);
		}
		return usuario;
	}

	public List SelectAll(Usuario usuario) {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean Update(Usuario usuario) {
		// TODO Auto-generated method stub
		return false;
	}

}

JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"
	import="firma.Usuario"
	import="firma.Prestador"    
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>

<body>
<jsp:useBean id="usuario" class="br.pronto.atendimento.bean.Usuario"/>
<JSP:setProperty name="usuario" property="*">

${usuario.cd_usuario}

<br>

<br>
</body>
</html>

Esse é o meu codigo, mais pensando bem, como eu faço pra o useBean enchegar o objeto que ta vindo do servlet???..

E ainda como referenciar um bean dentro de um bean?

Valeu

Galera!!!..

UFA, acho q achei o erro…

Esta faltando o scope no useBean e dizer que era request.

uahauhauahuaha…

Bom, valeu pelo conhecimento…

Até mais