Tenho linkado com minha aplicação um servlet que já está funcionando, porém estou com um problema…Se eu clico em buscar, ele busca normal, pois é a primeira coisa que o servlet faz…mas adicionei mais um botão, CADASTRAR.
Como eu recebo o valor deste botão, para colocar um IF, por exemplo.
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagecontrol;importcom.sun.net.httpserver.HttpContext;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.ArrayList;importjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;importmodel.Contato;/** * * @author professor */@WebServlet(name="AgendaControl",urlPatterns={/*"http://localhost:8080/AgendaWeb*/"/AgendaControl"})publicclassAgendaControlextendsHttpServlet{/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */protectedvoidprocessRequest(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.getWriter();//Try de inserção no Banco...//String receb = request.getParameter("cadast");/*try{ String id = request.getParameter("txtId"); String nome = request.getParameter("txtNome"); String fone = request.getParameter("txtFone"); HttpSession session = request.getSession(); session.setAttribute("txtId", id); session.setAttribute("txtNome", nome); session.setAttribute("txtFone", fone); UsuarioControle usu = new UsuarioControle(); String cont = usu.create(Integer.parseInt(id),nome,fone); out.println("Foi inserido corretamente"); }catch (Exception e) { RequestDispatcher rd = request.getRequestDispatcher("erro.jsp"); rd.forward(request, response); } finally { out.close(); } *///Fim do try de inserção...try{Stringid=request.getParameter("txtId");HttpSessionsession=request.getSession();session.setAttribute("txtId",id);UsuarioControleusu=newUsuarioControle();ArrayList<Contato>contato=null;if(id!=null){contato=usu.selectId(id);}if(contato!=null){/* TODO output your page here*/out.println("<html>");out.println("<head>");out.println("<title>Servlet Agenda</title>");out.println("</head>");out.println("<body>");out.println("<h1> Contato: </h1>");out.println("<p> ");for(Contatocont:contato){out.println("ID = "+cont.getId()+"<BR>");out.println("NOME = "+cont.getNome()+"<BR>");out.println("FONE = "+cont.getFone()+"<BR>");}out.println("<a href='index.jsp'>Voltar</a>");out.println("</body>");out.println("</html>");}else{//out.println("Contato Não Encontrado");RequestDispatcherrd=request.getRequestDispatcher("erro.jsp");rd.forward(request,response);}}catch(Exceptione){/* TODO output your page here*/RequestDispatcherrd=request.getRequestDispatcher("erro.jsp");rd.forward(request,response);}finally{out.close();}}// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">/** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */@OverrideprotectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{processRequest(request,response);}/** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{processRequest(request,response);}/** * Returns a short description of the servlet. * @return a String containing servlet description */@OverridepublicStringgetServletInfo(){return"Short description";}// </editor-fold>}
C
cristianonasciment
cria uma função em javascript para passar esse parâmetro para sua servlet.
similar a que esse cara usa aqui:
Primeiro vc cria a função em javascript (põe na sua jsp antes do código html)
<script>
function cadastrar(){
var frm = document.forms[0];
frm.action = 'command?cmd=cadastrar';
frm.submit();
}
</script>
no botao cadastrar vc inclui no onclick essa funcao: