Código HTML:
Ver original
En el cual deseo enviar un archivo y otros datos, lo que me da un error . La solución sería tener un formulario distinto para el archivo y poner el enctype='multipart/form-data' y otro para el resto de los dato sin el enctype='multipart/form-data'.
Estoy usando un servlet que recibe los datos del formulario, por si les ayuda aqui va mi servlet:
Código Javascript:
Ver original
package servlet; import dean.*; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/ServletSubir") public class ServletSubir extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String imagen = request.getParameter("imagen"); String dni = request.getParameter("txtDni"); String nombres = request.getParameter("txtNombres"); String apellidos = request.getParameter("txtApellidos"); String direccion = request.getParameter("txtDireccion"); String telefono = request.getParameter("txtTelefono"); System.out.println("imagen ruta> " + imagen); RequestDispatcher dispatcher = null; Subir bean = new Subir(); bean.setDni(dni); bean.setNombres(nombres); bean.setApellidos(apellidos); bean.setDireccion(direccion); bean.setTelefono(telefono); request.setAttribute("imagen", imagen); request.setAttribute("dni", dni); request.setAttribute("nombres", nombres); request.setAttribute("apellidos", apellidos); request.setAttribute("direccion", direccion); request.setAttribute("telefono", telefono); dispatcher = getServletContext().getRequestDispatcher("/mensaje.jsp"); dispatcher.forward(request, response); } }
Se puede tener todo en un formulario (archivos y texto, area, etc), y si se puede, que enctype poner????
por ahora solo quiero enviarloa una pagina llamada mensaje:
Código Javascript:
Ver original
<html> <head> <title>Mensaje</title> </head> <body> <table> <tr> <td>Imagen:</td> <td><img src="<%=request.getAttribute("imagen")%>"/></td> </tr> <tr> <td>DNI:</td> <td><%=request.getAttribute("dni")%></td> </tr> <tr> <td>Nombres:</td> <td><%=request.getAttribute("nombres")%></td> </tr> <tr> <td>Apellidos:</td> <td><%=request.getAttribute("apellidos")%></td> </tr> <tr> <td>Direccion:</td> <td><%=request.getAttribute("direccion")%></td> </tr> <tr> <td>Telefono:</td> <td><%=request.getAttribute("telefono")%></td> </tr> </table> </body> </html>
Lo que molesta es que cuando esta con "multipart/form-data" todos mis campos en mensaje.jsp salen como NULL
Si alguien puede explicarme que debo hacer, o solo un ejemplo pequeño, se que me ayudaria bastante
Gracias