
jpaoletti.jpm.struts.actions.ExportAction Maven / Gradle / Ivy
The newest version!
package jpaoletti.jpm.struts.actions;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import jpaoletti.jpm.core.PMException;
import jpaoletti.jpm.core.operations.Export;
import jpaoletti.jpm.struts.PMForwardException;
import jpaoletti.jpm.struts.PMStrutsContext;
/**
* Struts action for Export operation
*
* @author jpaoletti
* @since 25/11/2011
* @version 1.0.1
*
*/
public class ExportAction extends ActionSupport {
@Override
protected void doExecute(PMStrutsContext ctx) throws PMException {
try {
final boolean finish = ctx.getParameter("finish") == null;
final ByteArrayOutputStream out = new ByteArrayOutputStream();
ctx.put("out", out);
final Export op = new Export();
op.execute(ctx);
if (finish) {
throw new PMForwardException(CONTINUE);
}
ctx.getResponse().setContentType("text/csv");
ctx.getResponse().addHeader("Content-Disposition", "attachment;filename=export.csv");
ctx.getResponse().getOutputStream().write(out.toByteArray());
ctx.getResponse().getOutputStream().close();
out.close();
noAction();
} catch (IOException ex) {
throw new PMException(ex);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy