Get it on Google Play
12-03-2018
 

Tutorial Liferay online III: Peticiones de recurso para devolver contenido CSV desde un Portlet

Formación portlets 3

Formación portlets 3

Completamos la serie de vídeos dedicada al desarrollo de portlets Liferay con este vídeo dedicado al desarrollo de peticiones de recursos(CSV, imágenes, PDFs, JSON, etc.).

Aquí os dejo los otros dos posts dedicados al tema:

Como comentaba arriba este tipo de peticiones se utilizan cuando nuestro portlet requiere servir cualquier tipo de recurso como un CSV(Como en el ejemplo del vídeo), imagenes, PDFs, JSON, etc. Son muy utilizadas para devolver peticiones AJAX

Aquí os dejo el código de la vista JSP donde se genera el enlace que llama al método ‘serveResource’:

	<portlet:resourceURL var="exportCSV" />
		
	<a href='${exportCSV}'>Exportar a CSV</a>

Aquí os dejo el código que genera y sirve el listado CSV

@Override
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws IOException, PortletException {
		
	resourceResponse.setContentType("application/csv");
	resourceResponse.addProperty( HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=listado.csv" );
		
	OutputStreamWriter osw=new OutputStreamWriter( resourceResponse.getPortletOutputStream() );
	CSVPrinter printer= new CSVPrinter(
		osw,
		CSVFormat.DEFAULT.withHeader("num","cliente","importe")
		);
	
	for ( Hashtable<String,String> f:facturas ) {
		printer.printRecord(
			f.get("num"),
			f.get("cliente"),
			f.get("importe")
			);
		}
		
	printer.flush();
	printer.close();
	}

En fin, si queréis mas vídeos como este no dudéis en pedirlo a través de los comentarios. Y una vez mas, si os ha gustado suscribiros si no lo habéis hecho ya, ‘like’ y compartir que es la mejor manera que esto llegue a cuanta mas gente mejor. Muchas gracias.

Si te ha servido, por favor comparte

Interesado en formación Liferay?

 

Leave a Reply