Olá pessoal,
Estou com uma grande dúvida…
eu tenho que abrir um relatorio numa pop up, tipo, vc clica num botao e ele aparece aquela mensagenzinha “vc deseja abrir, salvar”, sabe?
eu fiz do jeito q ja era feito no projeto pro excel e nao deu mto certo, vou postar um pedaço da jsp e a servlet…
se alguem puder me ajudar, ficarei mto grata
jsp(é em extjs)
var summaryWindow = new Ext.Window({
id: 'summaryWindow',
closeAction:'close',
buttonAlign:'center',
width:1215,
height:720,
autoScroll : true,
plain:true,
closable: true,
resizable:false,
modal: true,
bbar: [{
xtype: 'tbbutton',
id: 'xls-btn-export-breakdown',
cls: 'x-btn-icon',
width: 30,
icon: '../includes/images/excel.gif',
handler: function () {
window.open('/equity/do/indexchanges/DailyWindowPdfServlet',
'indexChangesReport','location=no,resizable=yes,width=850,height=650,left=100,top=100,screenX=0,screenY=0');
}
}]
});
a servlet
public class DailyWindowPdfServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("*************** servlet inside \\o/ ");
response.getOutputStream().write(generateDailyWindowPdf().toByteArray());
}
@SuppressWarnings("unchecked")
public ByteArrayOutputStream generateDailyWindowPdf (){
try{
InputStream input = DailyWindowPdfServlet.class.getClassLoader().getResourceAsStream("teste1.jasper");
JasperReport report = (JasperReport) JRLoader.loadObject(input);
String ma = "Mnhaa....";
String data="06-11-88";
String seila = "ahahsiuhraiuhr";
Map parameters = new HashMap();
parameters.put("ReportTitle", "PDF JasperReport");
parameters.put("ma", ma);
parameters.put("data", data);
parameters.put("seila", seila);
JasperPrint print = JasperFillManager.fillReport(report, parameters);
ByteArrayOutputStream byteOutput = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(print, byteOutput);
return byteOutput;
}catch(Exception e){
e.printStackTrace();
}
return null;
}
}