Posible Bug en JMesa

February 24th, 2009

Actualmente estoy utilizando el componente JMesa en un proyecto, el componente JMesa sirve para desplegar información en forma de tablas, permite paginación, exportar a Excel y PDF, ordenar y filtrar.

El proyecto esta desarrollado en Java, y es muy facil de usar, la tabla se “renderea” en el lado del server y solo hay que utilizar el HTML que se genera para desplegar la tabla en una vista (si estamos utilizando MVC) o en un jsp (tambien permite el uso de tags especificos de JMesa)

El posible Bug que encontre ocurre al exportar a PDF.

Para hacer un export a PDF, JMesa utiliza el XhtmlRenderer esta libreria utiliza el siguiente DTD para validar los documentos que genera

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

Si no se inicializa de forma adecuada el XhtmlRenderer busca los dtds directamente en el sitio de www.w3.org, en lugar de obtenerlos desde el Jar de xhtmlrenderer (core-renderer-R8pre1.jar)

Los posibles errores que podrian ocurrir:

I) Si se generan demasiados PDF’s (si por ejemplo, se hace un “load testing” de la aplicación) el sitio del W3C regresa errores (y con justa razon) del tipo W3C’s Excessive Dtd Traffi, como puede verse, aqui:

http://www.w3.org/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic

II) Si estas detras de un firewall o un proxy que necesite autenticación, no es posible obtener los DTDs y se genera una excepción:

java.net.UnknownHostException: www.w3.org

Generalmente por la carga de trabajo (o tal vez por flojera)  no suelo reportar este tipo de errores pero ahora si levante un Issue en Google Code proponiendo un par de soluciones al problema:

Veremos que seguimiento se le da

Leave a Reply