Me gustaría crear una página web dinámica de informes utilizando JSP. Básicamente debe contener las siguientes partes:JasperReports html y pdf output
- Filtro: El usuario puede especificar las condiciones del filtro y presionar un botón de filtro.
- HTML-output: El resultado del filtro se puede ver aquí. Es una página html grande (o varias si una página sería demasiado grande). Puede contener enlaces a otras partes del sistema.
- PDF-output: El usuario debe poder guardar una versión en PDF del informe para fines de impresión o archivo.
En lugar de implementar todo yo mismo, me gustaría utilizar una biblioteca de informes de Java, así que creé mi informe usando JasperReports. La salida en PDF es realmente agradable, pero la exportación html del informe no es adecuada para mis propósitos.
La exportación html de JasperReport crea un archivo html con muchos códigos integrados y opciones de configuración bastante aleatorias. Por ejemplo, crea una tabla con fondo blanco de forma predeterminada (<table style="... bgcolor="white" ... ">
) que se puede desactivar utilizando la opción IS_WHITE_PAGE_BACKGROUND
, por otro lado cellpadding="0" cellspacing="0" border="0"
están cableados en la etiqueta table
. También es extraño (y hace que el estilo css sea difícil) que en lugar de clases de tramo el archivo html contenga <span style="font-family: sansserif; color: #000000; font-size: 10.0px;">
para todos mis campos.
Por supuesto que puedo implementar la salida html usando JSP, pero significa que tengo que diseñar el resultado dos veces (una en jrxml para JasperReports, una en JSP) y tengo que volver a implementar las funciones de informe (como cálculo total, agrupación ...) que está en contra del principio DRY.
¿Cuál es la mejor práctica para implementar esto? ¿Es posible crear una mejor exportación HTML utilizando JasperReports?
Me encontré con esta publicación hoy, estoy usando html y tengo que eliminar este lapso que se genera. Como mencionaste en tu respuesta, entendí usar jQuery. Mi pregunta es dónde escribir este código y cómo integrarlo en mis informes. Por favor guíame –