ver´na soy un novato en JSP y estoy haciendo mis primeras apicaciones con ejemplos sumamente sencillos.
bueno he reado el siguiente formulario para practicr el envío de datos y luego el regreso de los mismos a traves de un servlet
bueno este es el formulario que arme (es muy simplon por cierto)
como podran notar en la partede formulario yo escribo los datos y luego los envío hacinedo clic en enviar.
Luego de eso para recibir los datos me voy a la secion de datos. Supuestamente ahi al apretar el boton enviar los datos deben ser escritos en cada caja de texto
bueno este es el codijo de dicho formulario. Es una pagina jsp
Código HTML:
Ver original <form action="Enlace" method="POST"> <table border="1" cellspacing="0" cellpadding="0"> <th colspan="2" align="center">Formulario
</th> <td width="60"><input type="text" name="nombre" value="" /></td> <td width="60"><input type="text" name="apellido" value="" /></td> <td width="60"><input type="text" name="edad" value="" /></td> <td colspan="2"><input type="submit" value="Enviar" /></td> <form action="Enlace" method="GET"> <th colspan="2">Datos
</th>
<th><input type="text" name="nombre_get" value="" /></th> <td><input type="text" name="apellido_get" value="" /></td> <td><input type="text" name="edad_get" value="" /></td> <td colspan="2"><input type="submit" value="enviar" /></td>
Bueno como podrán notar los datos son enviados al servlet Enlace.
este es el codigo de dicho servlet
Código PHP:
Ver originalpublic class Enlace extends HttpServlet {
private Persona obj_pers=new Persona();
/**
* 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
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
//TODO output your page here
/*out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Enlace</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet Enlace at " + request.getContextPath () + "</h1>");
out.println("</body>");
out.println("</html>");*/
request.getRequestDispatcher("index.jsp").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
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
request.setAttribute("nombre_get", obj_pers.getNombre());
request.setAttribute("apellido_get", obj_pers.getApellido());
request.setAttribute("edad_get", obj_pers.getEdad());
}
/**
* 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
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
obj_pers.setNombre((String) request.getParameter("nombre"));
obj_pers.setApellido((String) request.getParameter("apellido"));
obj_pers.setEdad(Integer.valueOf((request.getParameter("edad")).toString()));
}
Bueno esto es mi lógica. Primeramente lo que tuve que idear fue que al enviar los datos del formulario, me reenviara al mismo jsp. Para eso puse este codigo
Código PHP:
request.getRequestDispatcher("index.jsp").forward(request, response);
Ahora para atrapar los datos que recibo del formulario he creado un objeto persona donde alamaceno dichos valoresdel formulario
El almacenamiento lo hago en el metodo doPost del servlet
Código PHP:
obj_pers.setNombre((String) request.getParameter("nombre"));
obj_pers.setApellido((String) request.getParameter("apellido"));
obj_pers.setEdad(Integer.valueOf((request.getParameter("edad")).toString()));
Ahora para enviar los datos del objeto persona desde el servlet al jsp he utilizado el método doGet del servlet
Código PHP:
request.setAttribute("nombre_get", obj_pers.getNombre());
request.setAttribute("apellido_get", obj_pers.getApellido());
request.setAttribute("edad_get", obj_pers.getEdad());
Bueno he comprobado que los datos se guardan en el objeto, pero el problema es al momento de enviarlos. Al parecer no estoy utilizando el método adecuado para enviar los datos del servlet al jsp.
alguien me puede decir cual sería el método adecuado. Busque si habi un setParameter pero solo encontre un setAttribute
Bueno espero su ayuda