DownloadAction Strtus

,
Hola, en este post mostrare el uso de la clase DownloadAction del framework de struts para descargar archivos, en este caso uno creado en excel con el api de JXL.

1. Para empezar ponemos un link en la pagina para la llamada del action


<html:link action="CrearArchivoAction" > Excel </html:link>



2. Añadimos la entrada a struts.config


<action name="CrearArchivoAction" path="/CrearArchivoAction" type="com.test.CrearArchivoAction" scope="request" input="/Welcome" />



3. Creamos el DownloadAction



public class CrearArchivoAction extends DownloadAction{

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public StreamInfo getStreamInfo(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {

System.out.println("--- CrearArchivoAction ---- ");

String fileName = "sampleName.xls";
String contentType = "application/vnd.ms-excel";

File file = new File(fileName);

try {

WritableWorkbook w = Workbook.createWorkbook(file);
WritableSheet s = w.createSheet("Demo", 0);
s.addCell(new Label(0, 0, "Hello World"));
w.write();
w.close();

} catch (Exception e) {
System.err.println("Ocurrio un error al generar el EXCEL");
e.printStackTrace();
}

System.out.println("--- regresando arhivo --");
return new FileStreamInfo(contentType, file);

}


}




Nota. Para que funcione este ejemplo es necesario tener el jar de jxl.jar

Suerte.

Spread Firefox Affiliate Button

0 comentarios: