Estoy haciendo mis primeras pruebas con JasperReport para crear mis propios PDFs y ahora mismo estoy bastante atascado porque el reporte no recibe mis parámetros y no sé por qué.
Básicamente he colocado una acción que genera el PDF. La acción es la siguiente:
1º - Visualiza el jrxml que he diseñado, que sólo tiene un parámetro. Pero en lugar de visualizar el valor por pantalla, visualiza $P{nombreCliente}.
2º - Como puede apreciarse, mi .jrxml está en una carpeta Informes dentro del propio proyecto, pero no consigo llegar a él mediante una ruta relativa. Con absoluta sí, pero no es algo que me haga muy feliz.
El problema estaba en el reporte. Como no había hecho uno nunca... pues lo hacía mal. Pensaba que era cuestión de poner $P{} por el xml y listo. Ya he visto que tengo que crear una consulta SQL en la que incorporar los parámetros y ya funciona perfectamente.
Aunque sigo con el problema de la ruta relativa...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
El $P{} lo deberías utilizar dentro de un <textField> utilizando <textFieldExpression> y no en un <staticText>. Si utilizar iReport e insertas parámetros te debería generar el código correctamente.
En cuanto a la ruta puedes poner directamente el nombre del archivo, así:
En este caso Factura.jrxml tiene que estar en el classpath, es decir en WEB-INF/classes por ejemplo. Para eso lo mejor es crear una carpeta de código fuente en la raíz de tu proyecto y poner allí todos lo jrxml. La carpeta no ha de estar en web, ha de estar en la raíz de tu proyecto y ha de ser de código fuente para que al compilar los archivos se muevan automáticamente a WEB-INF/classes. Mira como está hecho en OpenXavaTest.
Ayuda a otros en este foro como yo te ayudo a ti.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Un saludo a todos
Estoy haciendo mis primeras pruebas con JasperReport para crear mis propios PDFs y ahora mismo estoy bastante atascado porque el reporte no recibe mis parámetros y no sé por qué.
Básicamente he colocado una acción que genera el PDF. La acción es la siguiente:
Entonces:
1º - Visualiza el jrxml que he diseñado, que sólo tiene un parámetro. Pero en lugar de visualizar el valor por pantalla, visualiza $P{nombreCliente}.
2º - Como puede apreciarse, mi .jrxml está en una carpeta Informes dentro del propio proyecto, pero no consigo llegar a él mediante una ruta relativa. Con absoluta sí, pero no es algo que me haga muy feliz.
Por si sirviera de algo, dejo también el report:
Muchas gracias por cualquier ayuda.
Solucionado.
El problema estaba en el reporte. Como no había hecho uno nunca... pues lo hacía mal. Pensaba que era cuestión de poner $P{} por el xml y listo. Ya he visto que tengo que crear una consulta SQL en la que incorporar los parámetros y ya funciona perfectamente.
Aunque sigo con el problema de la ruta relativa...
Hola Mikel:
El $P{} lo deberías utilizar dentro de un <textField> utilizando <textFieldExpression> y no en un <staticText>. Si utilizar iReport e insertas parámetros te debería generar el código correctamente.
En cuanto a la ruta puedes poner directamente el nombre del archivo, así:
En este caso Factura.jrxml tiene que estar en el classpath, es decir en WEB-INF/classes por ejemplo. Para eso lo mejor es crear una carpeta de código fuente en la raíz de tu proyecto y poner allí todos lo jrxml. La carpeta no ha de estar en web, ha de estar en la raíz de tu proyecto y ha de ser de código fuente para que al compilar los archivos se muevan automáticamente a WEB-INF/classes. Mira como está hecho en OpenXavaTest.
Ayuda a otros en este foro como yo te ayudo a ti.