Problema: passar beans para beans

eh assim:
vou explicar o problema…eu tenho os seguintes beans:
Colaborador, Telefone e Endereco…
problema 1) O Colaborador possui um endereco que eh do tipo Endereco…como faco para no jsp atribuir no value um objeto…
assim:

<jsp:useBean id="endereco" class="beans.Endereco" scope="request"> 
<jsp:setProperty name="endereco" property="logradouro" value='<%=request.getParameter("logradouro")%>'/> 
<jsp:setProperty name="endereco" property="bairro" value='<%=request.getParameter("bairro")%>'/> 
<jsp:setProperty name="endereco" property="cidade" value='<%=request.getParameter("cidade")%>'/> 
<jsp:setProperty name="endereco" property="estado" value='<%=request.getParameter("estado")%>'/> 
<jsp:setProperty name="endereco" property="cep" value='<%=request.getParameter("cep")%>'/> 
</jsp:useBean> 

e depois:

<jsp:setProperty name="colaborador" property="endereco" value=<%=endereco%>/> 

problema 2) O colaborador possui um vetor fone de Telefones[4]
o metodo set da classe Colaborador esta assim:

public void setFone(Telefone fone){ 
for (int i = 0; i<4; i++) { 
// vetor de telefones é preenchido com valores de 0 a 3 
this.fone[i] = fone; 
} 
} 

e tentei fazer assim:

<% int j=1; 
   int tipo=0;%> 
<% for (int i=0;i<4;i++){%> 
<jsp:useBean id="tel" class=beans.Telefone" scope="request"> 
<jsp:setProperty name="tel" property="ddi" value='<%=request.getParameter("ddi"%><%=j%><%")%>'/> 
<jsp:setProperty name="tel" property="ddd" value='<%=request.getParameter("ddd"%><%=j%><%")%>'/> 
<jsp:setProperty name="tel" property="fone" value='<%=request.getParameter("fone"%><%=j%><%")%>'/> 
<% if(request.getParameter("tipo"+j+").equals("Comercial")){ 
tipo=1; 
}if(request.getParameter("tipo"+j+").equals("Residencial")){ 
tipo=2; 
}if(request.getParameter("tipo"+j+").equals("Celular")){ 
tipo=3; 
}if(request.getParameter("tipo"+j+").equals("Fax")){ 
tipo=4; 
} 
%> 
<jsp:setProperty name="tel" property="tipo" value=tipo/> 
<%j++;%> 
<jsp:useBean name="colaborador" property="fone" value=<%=tel%>/> 

<%}%> 


soh que naum funcionou preciso de ajuda…alguem jah fez alguma coisa desse tipo?
tem alguma ferramenta que eu possa usar para editar o jsp que me mostre se estah certo ou errado o que estou fazendo…tipo o eclipse…
porque o tomcat te aponta sempre uma linha ou mais acima ou mais abaixo do erro(no meu caso)…

Agradeco toda ajuda…
[]'s

Diana,

O problema é que você está exigindo demais do JSP. Nãoe xiste um bom motivo para seus arquivos JSP fazerem tantas operações, isto é herança do ASP/PHP [e mesmo em ASP isso é errado].

Crie uma camada de negócios na sua aplicação. Todo processamento deverá ficar ali.

Se você está trabalhando neste caso exclusivamente com apresentação [por exemplo: este bean é um menu que expande/retrai de acordo com a interação do usuário], manipule os beans com servlets.

Teoricamente, creio, este erro seria detectado com qualquer valdiador de XML que tenha o DTD ou Schema de JSP. Procure algum.

[]s

Desculpa…mas comecei a estudar jsp+servlets essa semana…
o bean colaborador e endereco soh possuem get´s e set´s
pode me dar um exemplo de como eu posso fazer aquela operacao sem usar jsp…ou se tenho que dividir em varios jsp´s???

Obrigada!

E você veio de alguma linguagem tipo ASP/PHP, não? :wink:

Diana, todo processamento deve ser feito em classes Java. JSP serve única e exclusivamente para msotrar o resultado do processamento.

Exemplo simples:

[list]
1 - Usuário preenche login e senha, clica em submit

2 - Um servlet recebe os dados, isntancia um objeto de uma classe Autenticador e chama o método verificarLogin(login, senha)

3 - A classe se conecta ao banco de dados [vamos deixar as boas práticas de onexão para um passo mais a frente, senão é informação em excesso, mas de maneira geral, este exemplo é porco], verifica nome e senha, retorna true se autorizado, false se não.

4 - O servlet recebe a resposta do objeto e manda o usuário para sucesso.jsp ou falha.jsp.
[/list]

Deu para entender?

A dica maior é: aprenda JAVA, não JSP[/b].

[]s