07/12/2006, 04:53
|
| | Fecha de Ingreso: diciembre-2006
Mensajes: 31
Antigüedad: 18 años, 1 mes Puntos: 0 | |
Llamar a un servlet que genera pdf 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());
}
}
} |