Cari utenti,
la mia web application java gestisce alcuni report complessi (report con sottoreport ed alcuni parametri passati in modo dinamico) e tramite alcune servlet apre tali report in pdf, in rtf, e con lo strumento di anteprima Jasper Viewer.

Accade che in pdf ed in Jasper Viewer le mie servlet aprano correttamente i report, mentre in rtf si visualizzi un report completamente bianco. Tuttavia:

1. stranamente il report rtf contiene le stesse pagine che dovrebbe avere lo stesso report correttamente aperto, ovvero le stesse pagine che vedo se lo apro in modalità pdf.
2. Tuttavia, se apro il file rtf così creato con un editor di testo vedo al suo interno diversi codici (solo per brevità ne inserisco alla fine un paio di righe);
3. La servlet che apre il formato rtf è la stessa servlet che usavo mesi fa e funzionava benissimo e quindi secondo me non è questione di servlet o codici Java;
4. Se dall'ambiente di sviluppo iReport provo a visualizzare l'anteprima dello stesso report appena creato (quindi dall'editor di iReport, senza ancora neppure toccare la mia applicazione), questo si visualizza bene, se però dal report viewer provo a salvare una copia in formato rtf ottengo lo stesso identico risultato sopra descritto.

Quindi c'è un problema a livello di report, e non a livello di codice java della mia applicazione, che fa sì che si verifichino gli strani fenomeni sopra descritti. Qualcuno di voi saprebbe ipotizzare come mai, e come risolvere il problema?

Grazie a tutti!

PS una curiosità, forse banale. Ma ReportViewer di Jasper per funzionare ha bisogno che sul client che lo apre sia installata la JRE? Secondo me si.

codice:
{\rtf1\ansi\deff0
{\fonttbl {\f0\fnil SansSerif;}{\f1\fnil Arial;}}
{\colortbl ;\red255\green255\blue255;\red0\green0\blue0;}
{\info{\nofpages14}}
\viewkind1\paperw11900\paperh16840\marglsxn400\margrsxn400\margtsxn400\margbsxn400
{\*\bkmkstart JR_PAGE_ANCHOR_0_1}{\*\bkmkend JR_PAGE_ANCHOR_0_1}{\shp\shpbxpage\shpbypage\shpwr5\shpfhdr0\shpfblwtxt0\shpz1\shpleft1700\shpright7380\shptop1760\shpbottom2160{\sp{\sn fFilled}{\sv 0}}{\shpinst{\sp{\sn dyTextTop}{\sv 0}}{\sp{\sn dxTextLeft}{\sv 0}}{\sp{\sn dyTextBottom}{\sv 0}}{\sp{\sn dxTextRight}{\sv 0}}{\sp{\sn fLine}{\sv 0}}{\shptxt{\pard\cb1 \ql\sl232 \f0\fs20\cf2 LIPZ\plain\par}}}}