Hola quiero conseguir desde mi aplicacion que me genere un documento pdf utilizando ireport.
El caso es que creo que el tema de como hacer el pdf lo tengo solucionado o eso creo pero lo que me falla es como llamar al servet cuando pulso el boton
Yo lo tendo asi en mi documento jsp:
<h:commandButton value="Generar pdf" type=submit/>
aparte tengo puesto la direccion del servlet el el localhost en un form
<form action=localhost/servlet/topdf" method="POST">
¿es asi? Por que cuando pulso el boton no hace nada ¿¿Como seria????
public class toPdf extends HttpServlet {
private static final String CONTENT_TYPE = "application/pdf";
// Initialize global variables
public void init() throws ServletException
{
}
// Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
createReport(request, response);
}
// Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doGet(request, response);
}
public void createReport(HttpServletRequest request, HttpServletResponse response)
{
java.sql.Connection conn = null;
try
{
String reporteJasper ="C:\\Archivos de programa\\JasperSoft\\iReport-1.2.8\\reporte_user.jasper" ;
UserBean user = new UserBean();
user.CogerDatos();
Map parameters = new HashMap();
parameters.put("nombre",request.getParameter("NOMB RE"));
parameters.put("password",request.getParameter("PA SS"));
parameters.put("pais",request.getParameter("PAIS") );
parameters.put("aboutyou",request.getParameter("AB OUTYOU"));
/*
* Tambien podria ir poner una conexion nula,
* ya que no saco datos de ninguna conexion
*
* Connection conexion = null;
*/
byte[] bytes = JasperRunManager.runReportToPdf(reporteJasper, parameters, conn);
// JasperPrint jp = JasperFillManager.fillReport(reporteJasper,paramet ers);
/*
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
*/
ServletOutputStream outputStream = response.getOutputStream();
//response.setContentType(CONTENT_TYPE);
outputStream.write(bytes,0,bytes.length);
outputStream.flush();
outputStream.close();
/*JasperViewer jv = new JasperViewer(jp, false);
jv.setVisible(false);
*/
//JasperManager.printReportToPdfStream(jasperPrint, oS);
}
catch(Throwable e)
{
}
finally
{
try
{
if(conn != null)
{
conn.close();
}
}
catch (Throwable ex2)
{
System.out.println("*************MENSAJE ERROR = " + ex2.getMessage());
System.out.println("*************CAUSA ERROR = " + ex2.getMessage());
}
}
}