Me desculpe se esta questao seja (ou pareca) facil demais. Eu ja li as dicas do http://espec.ppgia.pucpr.br/~jmyada/tecno/dicas.html e por incrivel que pareca a coisa nao funciona do jeito que esperava.
Eu ja' fiz programas e testei exemplos que enviam JavaBeans do JSP para Servlet e que funcionam. Mas este caso particular eu gostaria de entender por que motivo nao funciona. Nao quero fugir `a questao. No exemplo abaixo o meu JSP tem: <jsp:useBean id="testeBean" class="TesteBean" scope="request"> <jsp:setProperty name="testeBean" property="*"/> </jsp:useBean> Se nao uso o "scope" entao assume-se que seja "page" assim o servlet nao recebe a referencia para o JavaBean. Se uso o scope="request" um objeto e' instanciado e a referencia passada, mas o setProperty parece nao ter efeito. Se uso o scope="session" nada e' passado para o servlet... O programa abaixo e' consituido de tres arquivos: testeform.jsp que envia o testeBean para o servlet TesteServlet TesteBean.java com instancia id="testeBean" TesteServlet apenas le o testeBean recebido e imprime algo. Talvez o erro seja facilmente descoberto inspecionando o <jsp:usebean> no testeform.jsp e o getAttribute do TesteServlet.java A outra maneira e simplesmente rodar o codigo para ver a encrenca. Perguntas: - Sera' que o usebean esta' mal localizado no testeform.jsp? - Como os campos do formulario sao associados ao JavaBeans pelo *? - Sera' que estou pegando os getAttribute de contexto errados? - Com excecao do scope page, qualquer um deveria funcionar igualmente para este proposito... agradeco por qualquer dica que derem. muito obrigado Carlos ========================================================== testeform.jsp <jsp:useBean id="testeBean" class="TesteBean" scope="request"> <jsp:setProperty name="testeBean" property="*"/> </jsp:useBean> <HTML> <HEAD> <SCRIPT> function valida() { var erro = true if(document.REVS.autor.value == "") { alert("O campo Autor(es) é obrigatório") document.REVS.autor.focus() } else { if(document.REVS.titulo.value == "") { alert("O campo Título é obrigatório") document.REVS.titulo.focus() } } if( !erro ) { var1 = document.REVS.autor.value var2 = document.REVS.titulo.value janela=open("","Confirma","scrollbars=yes,width=740,height=480,resizable=off"); janela.document.write("<BODY><P><B><FONT SIZE='+1' COLOR='#23238E' FACE='Verdana'>\ Confirmação das Informações</FONT></B></P><BR>\ <P>Autor: <B>" +var1+ "</B></P><P>Título: <B>" +var2</P>\ <FORM><INPUT TYPE='SUBMIT' NAME='btnok' VALUE='Confirmar' ONCLICK='window.close()'>\ <INPUT TYPE='BUTTON' NAME='btncrg' VALUE='Corrigir' ONCLICK='window.close()'></FORM></P></BODY>") } } </SCRIPT> <TITLE></TITLE> </HEAD> <BODY> <% if (request.getParameter("autor")==null && request.getParameter("titulo") == null) { %> <FORM NAME="REVS" ACTION="/teste" method="post"> <TABLE WIDTH="100%"> <TR> <TD WIDTH="75%" COLSPAN="3"> <B>Autor(es) </B><FONT COLOR="#5D5D5D" FACE="Arial" SIZE="-1"><B>[ Exemplo: (Autor1; Autor2; Autor3; ... ) ]</B> </FONT><BR> <INPUT TYPE="TEXT" NAME="autor" SIZE="70"> </TD> </TR> <TR> <TD WIDTH="75%" COLSPAN="3"> <B>Título </B><BR> <INPUT TYPE="TEXT" NAME="titulo" SIZE="70"></TD> </TR> <TR> <TD WIDTH="75%" COLSPAN="3"> <CENTER> <INPUT TYPE="submit" NAME="btn1" VALUE="Submeter"> </CENTER> </TD> </TR> </TABLE> </FORM> <% } else { %> <P> <B>You have provided the following info</B>: <P> <B>Name</B>: <jsp:getProperty name= "testeBean" property="autor"/> <P> <B>Email</B>: <jsp:getProperty name="testeBean" property="titulo"/> <% } %> </BODY> </HTML> ========================================================== TesteServlet.java mapeado para /teste import javax.servlet.*; import javax.servlet.http.*; /** * * @author ho * @version */ public class TesteServlet extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet. */ public void destroy() { } /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { HttpSession session = request.getSession(true); TesteBean teste = (TesteBean)session.getAttribute("testeBean"); TesteBean teste1 = (TesteBean)request.getAttribute("testeBean"); TesteBean teste3 = (TesteBean)getServletContext().getAttribute("testeBean"); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); // out.println("<p>Autor ="+teste.getAutor()+"</p><br>"); // out.println("<p>Titulo ="+teste.getTitulo()+"</p><br>"); if (teste == null) out.println("<p>Null</p>"); if (teste1 == null) out.println("<p>Null One</p>"); if (teste3 == null) out.println("<p>Null Three</p>"); out.println("</body>"); out.println("</html>"); out.close(); } /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "Short description"; } } ========================================================== TesteBean.java import java.io.*; public class TesteBean implements Serializable { private String autor, titulo; public TesteBean() { autor = null; titulo = null; } public void setAutor(String autor) { this.autor = autor; } public String getAutor() { return autor; } public void setTitulo(String titulo) { this.titulo = titulo; } public String getTitulo() { return titulo; } } ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------