![]() |
Struts, Problema con html:link Hola a todos: Soy nuevo con struts. Lo que quiero hacer es una boberia pero no me sale. Tengo un objeto "Fichero" que tiene las siguientes propiedades: filename(Nombre del fichero), bytes(cantidad de bytes) y filepath(camino físico al fichero). Con el action le paso el objeto a la página .jsp. Hasta aqui todo funciona perfectamente, pero lo que quiero es que cuando vaya a mostrar el nombre del fichero se muestre como un hipervínculo con la ruta física del fichero que se guarda en el filepath y que cuando le de click a ese hipevinculo se me descargue el fichero. pero no me funciona esto era lo que estaba haciendo: Código PHP: Se los agradecería. Saludos |
Tienes que referenciar al HtmlLink a un action. <html:link action="ACTION_DE_DESCARGA" paramId="fichero" paramName="file" paramProperty="filepath">....</html:link> De esta forma, el link quedará como: http://www...../ACTION_DE_DESCARGA.do?fichero="filepath" donde filepath es la ruta al fichero. En ese action podrás hacer request.getParameter("fichero").toString() y obtener la ruta la fichero. Luego lo lees con inputStream, y lo escribes en el response. De todas formas, te aconsejaría que tuvieras Id's y cosas por el estilo en vez de enviar el path. Saludos! |
Hola tengo otra duda: Me dijiste que en el action tomara el filepath del fichero así request.getParameter("fichero").toString() y despues lo leo con un input stream, eso lo hice de esta manera: String filePath = request.getParameter("file").toString(); InputStream in; in = new FileInputStream(filePath); pero a la hora de escribirlo en el response ¿Como lo hago? Le agradecería que me ayudara Salu2 |
Y, a que te refieres con Id's ??? |
Con ID me refiero a que no envies directamente el path al fichero por el link, es mejor que envies algo del estilo ACTION_DE_DESCARGA.do?idfichero=2 haces en el action request.getParameter("idfichero") Y obtienes el 2, sabiendo que esa es la ID del fichero vas a algun sitio que con ese 2 te indique el path del fichero. Con una tabla interna, o algo por el estilo :-) Para escribir el contenido en el response, en el Action haces: Código PHP: Saludos |
| La zona horaria es GMT -6. Ahora son las 22:55. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.