Pessoal do GUJ, estou com dificuldades pra passar esse codigo JSP pra MVC com Struts, DAO e VO… consegui montar eles em JSP, mas nao era assim que eu queria, alguem poderia me ajudar a montar esse msm codigo em MVC?
Obrigado
Tá dando erro pra enviar o código… quem quiser me ajudar meu e-mail é [email removido]
Eu consegui fazer ele rodar em JSP, mas queria fazer ele nos padrões…
pesquisadadoscliente.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@tagliburi="/WEB-INF/struts-html.tld"prefix="html"%><%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%><%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><%@pagelanguage="java"%><%@pageimport="java.sql.*"%><html:html><head><scripttype="text/JavaScript"language="JavaScript">functionverifica(){varpesquisa=/[^0-9]+/;varfrase=document.ConectaBanco.id.value;if(frase.match(pesquisa)||document.ConectaBanco.id.value==""){alert("Apenas Números no campo código.");returnfalse;}}</script></head><BODY><!--<html:form action="/dados"> <TABLE border="0"> <TBODY> <TR> <TH>id</TH> <TD><html:text property="id" /></TD> </TR> <TR> <TD><html:submit property="submit" value="Enviar" /></TD> <TD><html:reset /></TD> </TR> </TBODY> </TABLE>--><!--<form name="pesquisa" action="./pesqteste">--><formname="ConectaBanco"action="<%=request.getContextPath()%>/dadoscliente.jsp"onsubmit="return verifica();"><INPUTtype="hidden"name="actionType"value="inserirUsuario"><center><p>Identificação: <fontcolor="#CC99FF">.....</font><inputtype="text"name="id"><p>Nome Solicitante: <fontcolor="#CC99FF">.....</font><inputtype="text"name="nm_solicitante"><fontcolor="#CC99FF">.</font><inputname="pesquisar"type="submit"value="Pesquisar"></p></center></form></html:form></BODY></html:html><%Stringdsn="jdbc:postgresql://weblinux:5432/CursoJsp";Stringusuario="jsaude";Stringsenha="";Stringsql="";Class.forName("org.postgresql.Driver").newInstance();Connectioncon=DriverManager.getConnection(dsn,usuario,senha);Statementst=con.createStatement();//==========================================================================//Senãoexistirumcodigonalinhadeparametrosdobrowser,montao//Recordsetcomtodososregistros//==========================================================================if(request.getParameter("id")==null){//Seousuarionãopreencheuonomenoform,pegatodososregistrosif(request.getParameter("nm_solicitante")==""){sql="SELECT * FROM dados ORDER BY id";}else{sql="SELECT * FROM dados WHERE id LIKE '%"+request.getParameter("id")+"%' ORDER BY id";}ResultSetrs=st.executeQuery(sql);out.println("<TABLE BORDER=1>");if(rs!=null){while(rs.next()){Stringid=rs.getString("id");Stringsolicitante=rs.getString("nm_solicitante");out.println("<TR>");out.println("<TD><A HREF='dadoscliente.jsp?id="+id+"'>"+id+"</A></TD>");out.println("</TR>");}}out.println("</TABLE>");}//==========================================================================&&//Pesquisaoregistroconformeocódigoespecificadonalinhadeparametro//==========================================================================if(request.getParameter("id")!=""){ResultSetrs=st.executeQuery("SELECT * FROM dados WHERE id="+request.getParameter("id"));out.println("<center><TABLE BORDER=1>");while(rs.next()){out.println("<TR><TD>Identificação</TD><TD>Solicitante</td><td>Data</td><td>Descrição</td><td>Estimativa</td><td>Status</td></tr>");out.println("<TR><TD>"+rs.getString("id")+"</TD>");out.println("<TD>"+rs.getString("nm_solicitante")+"</TD>");out.println("<TD>"+rs.getString("data")+"</TD>");out.println("<TD>"+rs.getString("descricao")+"</TD>");out.println("<TD>"+rs.getString("estimativa")+"</TD>");out.println("<TD>"+rs.getString("status")+"</TD>");out.println("</TR>");}out.println("</TABLE></center>");out.println("<center><BR><A HREF='javascript:history.back();'>Voltar</A></center>");}st.close();con.close();%>
Pedrosa
Olhe meu último post pode te ajudar, retire esses scriplets do seu jsp.
Meu probl agora ta sendo gerar a tabela… uma especie de GRID…
Pedrosa
Use a displaytaglib, vc passa uma lista no request e ela se vira para montar, além de fazer paginação automática ainda permite exportar para vários tipos de aqrivos (pdf, xls, xml, rtf, csv)
Use a displaytaglib, vc passa uma lista no request e ela se vira para montar, além de fazer paginação automática ainda permite exportar para vários tipos de aqrivos (pdf, xls, xml, rtf, csv)
/* * Criado em 26/05/2006 * * Para alterar o gabarito para este arquivo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */packageaction;importjava.io.IOException;importjava.sql.SQLException;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importclassesDAO.DadosClienteDAO;importclassesVO.DadosClienteVO;/** * @author eduardo.bregaida * * Para alterar o gabarito para este comentário do tipo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */publicclassControllerActionextendsHttpServlet{privateStringacao;privateStringtarget;publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{RequestDispatcherrd;acao=request.getParameter("acao").toString();HttpSessionsessao=request.getSession();Stringmsg="";try{DadosClienteDAOdadosClienteDAO=newDadosClienteDAO();// Comparaçãoif(acao.equalsIgnoreCase("id")){DadosClienteVOformulario=newDadosClienteVO();formulario.setNomeSolicitante(request.getParameter("nm_solicitante"));formulario.setIdCliente(request.getParameter("id"));/* if (dadosClienteDAO.validaLogin(formulario)) { target = "/Jogos.jsp"; } else { target = "/Index.jsp"; msg = "Usuário Inválido!"; request.setAttribute("msg", msg); }*/}}catch(SQLExceptionsqle){sqle.printStackTrace();}catch(Exceptione){// TODO Bloco de captura gerado automaticamentee.printStackTrace();}}}
DadosClienteDAO.java
/* * Criado em 26/05/2006 * * Para alterar o gabarito para este arquivo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */packageclassesDAO;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importclassesVO.DadosClienteVO;importconexao.ConnectionFactory;/** * @author eduardo.bregaida * * Para alterar o gabarito para este comentário do tipo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */publicclassDadosClienteDAO{privateConnectionconnection;privateStringstrSQL;publicDadosClienteDAO(Connectioncon){this.connection=con;}publicDadosClienteDAO()throwsException{this.connection=ConnectionFactory.getConnection();}publicbooleanvalidaLogin(DadosClienteVOdadosClienteVO)throwsSQLException{Stringsql="SELECT * FROM id WHERE id = ? AND nm_solicitante = ?";PreparedStatementstmt=this.connection.prepareStatement(sql);stmt.setString(1,dadosClienteVO.getIdCliente().trim());stmt.setString(2,dadosClienteVO.getNomeSolicitante().trim());ResultSetrs=stmt.executeQuery();if(rs.next()){returntrue;}else{returnfalse;}}}
DadosClienteVO.java
/* * Criado em 26/05/2006 * * Para alterar o gabarito para este arquivo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */packageclassesVO;/** * @author eduardo.bregaida * * Para alterar o gabarito para este comentário do tipo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */publicclassDadosClienteVO{privateStringidCliente="";privateStringnomeSolicitante="";privateStringnomeEmpresa="";privateStringdataPedido="";privateStringdescricaoProblema="";privateStringdescricaoSolucao="";privateStringencaminhamentoChefe="";privateStringstatusConclusao="";privateStringnomeAtendente="";privateStringsituacaoPedido="";privateStringtempoEstimado="";/** * @return */publicStringgetDataPedido(){returndataPedido;}/** * @return */publicStringgetDescricaoProblema(){returndescricaoProblema;}/** * @return */publicStringgetDescricaoSolucao(){returndescricaoSolucao;}/** * @return */publicStringgetEncaminhamentoChefe(){returnencaminhamentoChefe;}/** * @return */publicStringgetIdCliente(){returnidCliente;}/** * @return */publicStringgetNomeAtendente(){returnnomeAtendente;}/** * @return */publicStringgetNomeEmpresa(){returnnomeEmpresa;}/** * @return */publicStringgetNomeSolicitante(){returnnomeSolicitante;}/** * @return */publicStringgetSituacaoPedido(){returnsituacaoPedido;}/** * @return */publicStringgetStatusConclusao(){returnstatusConclusao;}/** * @return */publicStringgetTempoEstimado(){returntempoEstimado;}/** * @param string */publicvoidsetDataPedido(Stringstring){dataPedido=string;}/** * @param string */publicvoidsetDescricaoProblema(Stringstring){descricaoProblema=string;}/** * @param string */publicvoidsetDescricaoSolucao(Stringstring){descricaoSolucao=string;}/** * @param string */publicvoidsetEncaminhamentoChefe(Stringstring){encaminhamentoChefe=string;}/** * @param string */publicvoidsetIdCliente(Stringstring){idCliente=string;}/** * @param string */publicvoidsetNomeAtendente(Stringstring){nomeAtendente=string;}/** * @param string */publicvoidsetNomeEmpresa(Stringstring){nomeEmpresa=string;}/** * @param string */publicvoidsetNomeSolicitante(Stringstring){nomeSolicitante=string;}/** * @param string */publicvoidsetSituacaoPedido(Stringstring){situacaoPedido=string;}/** * @param string */publicvoidsetStatusConclusao(Stringstring){statusConclusao=string;}/** * @param string */publicvoidsetTempoEstimado(Stringstring){tempoEstimado=string;}}
ConnectionFactory.java
/* * Criado em 24/05/2006 * Por Eduardo Bregaida * Classe para conexão do DB * Banco PostgreSQL */packageconexao;/** * @author eduardo.bregaida * * Para alterar o gabarito para este comentário do tipo gerado vá para * Janela>Preferências>Java>Geração de Códigos>Código e Comentários */importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;publicclassConnectionFactory{privatestaticfinalStringurl="jdbc:postgresql://weblinux:5432/CursoJsp";privatestaticfinalStringdriver="org.postgresql.Driver";privatestaticfinalStringusuario="jsaude";privatestaticfinalStringsenha="";publicstaticConnectiongetConnection()throwsSQLException{try{Class.forName(driver);returnDriverManager.getConnection(url,usuario,senha);}catch(ClassNotFoundExceptione){thrownewSQLException(e.getMessage());}}}
dadoscliente.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><%@tagliburi="/WEB-INF/struts-html.tld"prefix="html"%><%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%><%@pagecontentType="text/html"%><%@pagepageEncoding="UTF-8"%><%@pagelanguage="java"%><%@pageimport="java.sql.*"%><html:html><head><scripttype="text/JavaScript"language="JavaScript">functionverifica(){varpesquisa=/[^0-9]+/;varfrase=document.ConectaBanco.id.value;if(frase.match(pesquisa)||document.ConectaBanco.id.value==""){alert("Apenas Números no campo código.");returnfalse;}if(document.ConectaBanco.nm_solicitante.value==""){alert("Solicitante é um campo obrigatório");returnfalse;}}</script></head><BODY><!--<html:form action="/dados"> <TABLE border="0"> <TBODY> <TR> <TH>id</TH> <TD><html:text property="id" /></TD> </TR> <TR> <TD><html:submit property="submit" value="Enviar" /></TD> <TD><html:reset /></TD> </TR> </TBODY> </TABLE>--><!--<form name="pesquisa" action="./pesqteste">--><formname="ConectaBanco"action="<%=request.getContextPath()%>/dadoscliente.jsp"><INPUTtype="hidden"name="actionType"value="inserirUsuario"><center><p>Identificação: <fontcolor="#CC99FF">.....</font><inputtype="text"name="id"><p>Nome Solicitante: <fontcolor="#CC99FF">.....</font><inputtype="text"name="nm_solicitante"><fontcolor="#CC99FF">.</font><inputname="pesquisar"type="submit"value="Pesquisar"onclick="return verifica();"></p></center></form></html:form></BODY></html:html><%conexao.ConnectionFactorycF=newconexao.ConnectionFactory();Connectioncon=cF.getConnection();Statementst=con.createStatement();if(request.getParameter("id").equals("")&&request.getParameter("nm_solicitante").equals("")){ResultSetrs=st.executeQuery("SELECT * FROM dados WHERE id="+request.getParameter("id"));out.println("<center><TABLE BORDER=1>");while(rs.next()){out.println("<TR><TD>Identificação</TD><TD>Solicitante</td><td>Data</td><td>Descrição</td><td>Estimativa</td><td>Status</td></tr>");out.println("<TR><TD>"+rs.getString("id")+"</TD>");out.println("<TD>"+rs.getString("nm_solicitante")+"</TD>");out.println("<TD>"+rs.getString("data")+"</TD>");out.println("<TD>"+rs.getString("descricao")+"</TD>");out.println("<TD>"+rs.getString("estimativa")+"</TD>");out.println("<TD>"+rs.getString("status")+"</TD>");out.println("</TR>");}out.println("</TABLE></center>");out.println("<center><BR><A HREF='javascript:history.back();'>Voltar</A></center>");}%>
Os .java estão funcionando, mas a JSP ta gerando erro...