retourner un fichier dans la réponse en portlet
Bonjour,
je travail sur une aplli JSF qui doit marcher en portlet et en servlet.
Cette appli permet de générer les infos affichées a l'écran en pdf ou en excel pour le télécharger.
j'ai reussi en servlet
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
ExternalContext external = context.getExternalContext();
HttpServletResponse response = (HttpServletResponse) external.getResponse();
//formatage de la réponse
response.setContentType("application/octet-stream");
response.setHeader ("Content-Disposition", "attachment;filename=\"test.xls\"" );
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
HSSFWorkbook wb=creerExcel();
//remplissage du wb
// Ecriture dans l'output
ServletOutputStream out;
try {
out = response.getOutputStream();
wb.write(baos);
baos.writeTo(out);
baos.flush();
context.responseComplete();
} catch (IOException e) {
e.printStackTrace();
} |
Mais je ne sais pas comment faire en portlet car la ActionResponse rendu par:
Code:
1 2 3 4
|
PortletResponse pr=(PortletResponse) external.getResponse();
ActionResponse ar=(ActionResponse) pr; |
ne fournit (il me semble) pas les méthodes nécessaires (getOutputStream, setContentType)
Savez vous comment faire?
Merci