SlideShare a Scribd company logo
1 of 4
COME UTILIZZARE FLASH VIEWER DI JASPERREPORTS

<DOWNLOAD E CONFIGURAZIONE>
1) Download del componente jasperreports-flash: jasperreports-flash-4.0.0.swf
Questo mostra il report all'utente.
-------------------------------------------------------------------------------------------------------------------------http://sourceforge.net/projects/jasperreports/files/
-------------------------------------------------------------------------------------------------------------------------2) Configuarazione del file web xml: Registrare la servlet Xml4SwfServlet.
Questa sarà
la sorgente dati per il componente flash del punto 1)
-------------------------------------------------------------------------------------------------------------------------<servlet>
<description>Necessaria per l'anteprima dei report</description>
<servlet-name>Xml4SwfServlet</servlet-name>
<servletclass>net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Xml4SwfServlet</servlet-name>
<url-pattern>/servlets/xml4swf</url-pattern>
</servlet-mapping>
-------------------------------------------------------------------------------------------------------------------------3) Creare la pagina da utilizzare per l'anteprima. Creare un file preview.html
(il nome può
essere qualunque e con l'estensione che fa comodo: php, jsp, ...). Con il
contenuto riportato
di seguito. Salvarlo, ad esempio, nello stesso livello di web-inf.
(N.B. Assicurarsi che il parametro FlashVars contenga il percorso corretto
per la servlet)
-------------------------------------------------------------------------------------------------------------------------<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Preview</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<wicket:extend>
<CENTER>
<TABLE style="WIDTH: 100%; " cellSpacing="0" cellPadding="0" border="0">
<TR>
<TD align="center">
<object width="750px" height="800px">
<param name="movie" value="jasperreports-flash-4.0.0.swf"/>
<embed src="resources/jasperreports-flash-4.0.0.swf"
FlashVars="jrpxml=servlets/xml4swf?&fetchSize=3"
width="750px" height="800px">
</embed>
</object>
</TD>
</TR>
</TABLE>
</CENTER>
</wicket:extend>
</body>
</html>
-------------------------------------------------------------------------------------------------------------------------4) Nella stessa cartella della pagina del punto 3) copiare il file
jasperreports-flash-4.0.0.swf.
Ovviamente può essere messo anche in un'altra cartella ma bisogna modifiare
il percorso nella
pagina del punto 3).
</DOWNLOAD E CONFIGURAZIONE>
<USO>
L'esempio seguente mostra come avviare l'anteprima mediante servlet. E' facile
estrapolare il funzionamento anche
per atri framework come jsp, jsf, wicket, ...
-------------------------------------------------------------------------------------------------------------------------@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
// Elabora parametri passati (querystring)
...
// Riempire il report
JasperPrint print= ...;
// Recupera la sessione
Session session=req.getSession();
// Salva l'oggetto print nella sessione. Questo sarà utilzzato dalla
servlet Xml4SwfServlet
// per restituire il contenuto al client jasperreports-flash-4.0.0.swf.
session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
print);
// Visualizza l'anteprima
RequestDispatcher dispatcher=req.getRequestDispatcher("/preview.html");
dispatcher.forward(req, resp);
}
-------------------------------------------------------------------------------------------------------------------------</USO>
<RIEPILOGO DEL FUNZIONAMENTO>
1) Una servlet o una pagina jsp (o altro) Creano il file JasperPring e lo
assegnano alla
sessione con:
session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
print);
2) La servlet (o anche un'altra pagina) visualizza la pagina preview.html
3) Il componente jasperreports-flash-4.0.0.swf esegue una richiesta alla servlet
Xml4SwfServlet.
4) La servlet Xml4SwfServlet crea un file jrpxml (utilizzando JRXmlExporter) del
file JasperPrint
memorizzato nella sessione e lo restituisce (tramite stream).
</RIEPILOGO DEL FUNZIONAMENTO>

<PROBLEMI>
________________________________________________________________________________
________________________________________________________________
IL CLIENT NON VISUALIZZA IL RIQUADRO DEL REPORT:
questo può essere dovuto al fatto che il componete FLASH-PLAYER non è installato
________________________________________________________________________________
________________________________________________________________
IMPEDIRE CACHING PER FLASH VIEWER DI JASPERREPORTS
In effetti con la configurazione suddetta (riportata dalla documentazione
ufficiale) si presenta il
seguente problema: si avvia un report X e successivamente un report Y ma il
viewer mostra ancora il
report X!!!.
Guardando la cache del browser ci si accorge che quando viene fatta una
richiesta da parte del componente
jasperreports-flash-4.0.0.swf il file jrpxml, restituito dalla servlet
Xml4SwfServlet, viene memorizzato
in quest'ultima. Tale file verrà quindi utilizzato anche nelle richieste
successive da parte del componente
flash jasperreports-flash-4.0.0.swf che di conseguenza mostrerà lo stesso
contenuto.
Per ovviare al problema è necessario impedire che la risposta (file jrpxml)
della servlet Xml4SwfServlet
venga memorizzata nella servlet.
Per fare ciò è sufficiente:
1) estendere la servlet net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet come
mostrato di seguito.
2) disabilitarela cache nella risposta
3) Modificare la registrazione della servlet con la nuova: punto 2) in <DOWNLOAD
E CONFIGURAZIONE>
Sostituendo net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet con
com.myapp.servlets.PreviewServlet
-------------------------------------------------------------------------------------------------------------------------package com.myapp.servlets;
import
import
import
import
import

java.io.IOException;
javax.servlet.ServletException;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet;

/**
*
* @author santi caltabiano
*/
public class PreviewServlet extends Xml4SwfServlet{
public PreviewServlet() {
super();
}
@Override
protected long getLastModified(HttpServletRequest req) {
//long ret=super.getLastModified(req);
return -1;
}
@Override
public void service(HttpServletRequest request, HttpServletResponse
response) throws IOException, ServletException {
// Questo elemento non deve essere memorizzato nella cache del browser.
Questo impedirà al
// componente jasperreports-flash-x.x.x.x.swf di utilizzare la cache.
Senza tale accorgimento
// Verrà sempre utilizzato lo stesso report anche quando se ne vorrà
visulizzare un altro.
response.setHeader("Cache-Control", "no-store,no-cache,mustrevalidate");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
super.service(request, response);
}
}
--------------------------------------------------------------------------------------------------------------------------

________________________________________________________________________________
________________________________________________________________
</PROBLEMI>

More Related Content

Viewers also liked

Gymn ap pavlou_paphos_b_2014
Gymn ap pavlou_paphos_b_2014Gymn ap pavlou_paphos_b_2014
Gymn ap pavlou_paphos_b_2014sofia georgiou
 
Anteprima con flash viewer [by sc]
Anteprima con flash viewer [by sc]Anteprima con flash viewer [by sc]
Anteprima con flash viewer [by sc]santi caltabiano
 
Ad project ben &jerry
Ad project ben &jerryAd project ben &jerry
Ad project ben &jerryvalagna
 
Jaya supermarket presentation 2011 latest
Jaya supermarket presentation 2011 latestJaya supermarket presentation 2011 latest
Jaya supermarket presentation 2011 latestKartini Ibrahim
 
Tugas akhir tik semester 1 kelas 8 smp
Tugas akhir  tik semester 1 kelas 8 smpTugas akhir  tik semester 1 kelas 8 smp
Tugas akhir tik semester 1 kelas 8 smptaqiyamumtaz
 
Sgf’s sportsgrene
Sgf’s sportsgreneSgf’s sportsgrene
Sgf’s sportsgrenenicobirk
 
презентация
презентацияпрезентация
презентацияanastassia1993
 
Актуальные проблемы современного маркетинга
Актуальные проблемы современного маркетингаАктуальные проблемы современного маркетинга
Актуальные проблемы современного маркетингаVasiliy Starostin
 

Viewers also liked (9)

Gymn ap pavlou_paphos_b_2014
Gymn ap pavlou_paphos_b_2014Gymn ap pavlou_paphos_b_2014
Gymn ap pavlou_paphos_b_2014
 
Anteprima con flash viewer [by sc]
Anteprima con flash viewer [by sc]Anteprima con flash viewer [by sc]
Anteprima con flash viewer [by sc]
 
Ad project ben &jerry
Ad project ben &jerryAd project ben &jerry
Ad project ben &jerry
 
Lease
LeaseLease
Lease
 
Jaya supermarket presentation 2011 latest
Jaya supermarket presentation 2011 latestJaya supermarket presentation 2011 latest
Jaya supermarket presentation 2011 latest
 
Tugas akhir tik semester 1 kelas 8 smp
Tugas akhir  tik semester 1 kelas 8 smpTugas akhir  tik semester 1 kelas 8 smp
Tugas akhir tik semester 1 kelas 8 smp
 
Sgf’s sportsgrene
Sgf’s sportsgreneSgf’s sportsgrene
Sgf’s sportsgrene
 
презентация
презентацияпрезентация
презентация
 
Актуальные проблемы современного маркетинга
Актуальные проблемы современного маркетингаАктуальные проблемы современного маркетинга
Актуальные проблемы современного маркетинга
 

Similar to Jasper report anteprima con flash viewer [bysc]

Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance TuningMarco Sabatini
 
Dashboard user guide
Dashboard user guideDashboard user guide
Dashboard user guideData Ware srl
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideAntonio Musarra
 
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Antonio Musarra
 
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...Symantec Italia
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Luca Lusso
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiPietro Corona
 
SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...AndrijaCiric1
 
STARTER KIT ORION….un vero e proprio laboratorio elettronico (by FASAR ELETT...
STARTER KIT ORION….un vero e proprio laboratorio  elettronico (by FASAR ELETT...STARTER KIT ORION….un vero e proprio laboratorio  elettronico (by FASAR ELETT...
STARTER KIT ORION….un vero e proprio laboratorio elettronico (by FASAR ELETT...Flavio Falcinelli
 
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Simone Onofri
 
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Codemotion
 
Sap Business One 2007 Brochure
Sap Business One 2007 BrochureSap Business One 2007 Brochure
Sap Business One 2007 BrochureERP Italia s.r.l.
 
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVOROSVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVOROZanatta Davide
 
Monitoraggio di mac address in lan
Monitoraggio di mac address in lanMonitoraggio di mac address in lan
Monitoraggio di mac address in lanCe.Se.N.A. Security
 

Similar to Jasper report anteprima con flash viewer [bysc] (20)

Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance Tuning
 
Dashboard user guide
Dashboard user guideDashboard user guide
Dashboard user guide
 
J-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuideJ-SugarCRM UserSync TechnicalGuide
J-SugarCRM UserSync TechnicalGuide
 
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
Come installare TIBCO Jasper Reports Server 7.5 Community Edition su RedHat J...
 
J-SugarCRM UserSync 1.0
J-SugarCRM UserSync 1.0J-SugarCRM UserSync 1.0
J-SugarCRM UserSync 1.0
 
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...
Symantec Backup Exec 12.5 for Windows Server e Symantec Backup Exec System Re...
 
Introduzione a Struts
Introduzione a StrutsIntroduzione a Struts
Introduzione a Struts
 
Hadoop analyzerJR
Hadoop analyzerJRHadoop analyzerJR
Hadoop analyzerJR
 
Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8Come portare il profiler di symfony2 in drupal8
Come portare il profiler di symfony2 in drupal8
 
Profilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzatiProfilazione utente in ambienti virtualizzati
Profilazione utente in ambienti virtualizzati
 
SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...SESAMO (application login automator): evoluzioni applicative e considerazioni...
SESAMO (application login automator): evoluzioni applicative e considerazioni...
 
Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2Novita TYPO3 CMS 7.2
Novita TYPO3 CMS 7.2
 
STARTER KIT ORION….un vero e proprio laboratorio elettronico (by FASAR ELETT...
STARTER KIT ORION….un vero e proprio laboratorio  elettronico (by FASAR ELETT...STARTER KIT ORION….un vero e proprio laboratorio  elettronico (by FASAR ELETT...
STARTER KIT ORION….un vero e proprio laboratorio elettronico (by FASAR ELETT...
 
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs Developers - Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
 
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
Hackers vs. Developers: Nuove e vecchie vulnerabilità con la OWASP TOP 10 2013
 
TYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novitàTYPO3 CMS 8.1 - Le novità
TYPO3 CMS 8.1 - Le novità
 
Monitor@
Monitor@Monitor@
Monitor@
 
Sap Business One 2007 Brochure
Sap Business One 2007 BrochureSap Business One 2007 Brochure
Sap Business One 2007 Brochure
 
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVOROSVILUPPO DI UNA SOLUZIONE  SINGLE SIGN ON  PER L’ENTE VENETO LAVORO
SVILUPPO DI UNA SOLUZIONE SINGLE SIGN ON PER L’ENTE VENETO LAVORO
 
Monitoraggio di mac address in lan
Monitoraggio di mac address in lanMonitoraggio di mac address in lan
Monitoraggio di mac address in lan
 

More from santi caltabiano

Esercizio semicirconferenze tangenti [sc]
Esercizio   semicirconferenze tangenti [sc]Esercizio   semicirconferenze tangenti [sc]
Esercizio semicirconferenze tangenti [sc]santi caltabiano
 
Area di un segmento parabolico
Area di un segmento parabolicoArea di un segmento parabolico
Area di un segmento parabolicosanti caltabiano
 
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]santi caltabiano
 
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]santi caltabiano
 
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]santi caltabiano
 
Legge di gravitazione universale [prof. santi caltabiano]
Legge di gravitazione universale [prof. santi caltabiano]Legge di gravitazione universale [prof. santi caltabiano]
Legge di gravitazione universale [prof. santi caltabiano]santi caltabiano
 
Le tre leggi di keplero [prof. santi caltabiano]
Le tre leggi di keplero [prof. santi caltabiano]Le tre leggi di keplero [prof. santi caltabiano]
Le tre leggi di keplero [prof. santi caltabiano]santi caltabiano
 
Caduta di un corpo [prof. santi caltabiano]
Caduta di un corpo [prof. santi caltabiano]Caduta di un corpo [prof. santi caltabiano]
Caduta di un corpo [prof. santi caltabiano]santi caltabiano
 
Applicazione dei principi della dinamica [prof. santi caltabiano]
Applicazione dei principi  della dinamica [prof. santi caltabiano]Applicazione dei principi  della dinamica [prof. santi caltabiano]
Applicazione dei principi della dinamica [prof. santi caltabiano]santi caltabiano
 
Principi della dinamica [prof. santi caltabiano]
Principi della dinamica [prof. santi caltabiano]Principi della dinamica [prof. santi caltabiano]
Principi della dinamica [prof. santi caltabiano]santi caltabiano
 
Le leve [prof. santi caltabiano]
Le leve [prof. santi caltabiano]Le leve [prof. santi caltabiano]
Le leve [prof. santi caltabiano]santi caltabiano
 
Coppie di forze [prof. santi caltabiano]
Coppie di forze [prof. santi caltabiano]Coppie di forze [prof. santi caltabiano]
Coppie di forze [prof. santi caltabiano]santi caltabiano
 
Momento di una forza [prof. santi caltabiano]
Momento di una forza [prof. santi caltabiano]Momento di una forza [prof. santi caltabiano]
Momento di una forza [prof. santi caltabiano]santi caltabiano
 
Equilibrio sul piano inclinato [s. caltabiano]
Equilibrio sul piano inclinato [s. caltabiano]Equilibrio sul piano inclinato [s. caltabiano]
Equilibrio sul piano inclinato [s. caltabiano]santi caltabiano
 
La piramide di numeri (prof. s. caltabiano)
La piramide di numeri (prof. s. caltabiano) La piramide di numeri (prof. s. caltabiano)
La piramide di numeri (prof. s. caltabiano) santi caltabiano
 
20 dinamica forze d'attrito
20 dinamica   forze d'attrito20 dinamica   forze d'attrito
20 dinamica forze d'attritosanti caltabiano
 
10 dinamica concetto di forza
10 dinamica   concetto di forza10 dinamica   concetto di forza
10 dinamica concetto di forzasanti caltabiano
 
00130 cinematica moto rettilineo e velocita media
00130 cinematica   moto rettilineo e velocita media00130 cinematica   moto rettilineo e velocita media
00130 cinematica moto rettilineo e velocita mediasanti caltabiano
 
50 cinematica moto rettilineo uniformemente accelerato
50 cinematica   moto rettilineo uniformemente accelerato50 cinematica   moto rettilineo uniformemente accelerato
50 cinematica moto rettilineo uniformemente acceleratosanti caltabiano
 

More from santi caltabiano (20)

Esercizio semicirconferenze tangenti [sc]
Esercizio   semicirconferenze tangenti [sc]Esercizio   semicirconferenze tangenti [sc]
Esercizio semicirconferenze tangenti [sc]
 
Area di un segmento parabolico
Area di un segmento parabolicoArea di un segmento parabolico
Area di un segmento parabolico
 
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte03) [prof. santi caltabiano]
 
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte02) [prof. santi caltabiano]
 
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]
L'equilibrio nei fluidi (parte01) [prof. santi caltabiano]
 
Legge di gravitazione universale [prof. santi caltabiano]
Legge di gravitazione universale [prof. santi caltabiano]Legge di gravitazione universale [prof. santi caltabiano]
Legge di gravitazione universale [prof. santi caltabiano]
 
Le tre leggi di keplero [prof. santi caltabiano]
Le tre leggi di keplero [prof. santi caltabiano]Le tre leggi di keplero [prof. santi caltabiano]
Le tre leggi di keplero [prof. santi caltabiano]
 
Caduta di un corpo [prof. santi caltabiano]
Caduta di un corpo [prof. santi caltabiano]Caduta di un corpo [prof. santi caltabiano]
Caduta di un corpo [prof. santi caltabiano]
 
Applicazione dei principi della dinamica [prof. santi caltabiano]
Applicazione dei principi  della dinamica [prof. santi caltabiano]Applicazione dei principi  della dinamica [prof. santi caltabiano]
Applicazione dei principi della dinamica [prof. santi caltabiano]
 
Principi della dinamica [prof. santi caltabiano]
Principi della dinamica [prof. santi caltabiano]Principi della dinamica [prof. santi caltabiano]
Principi della dinamica [prof. santi caltabiano]
 
Le leve [prof. santi caltabiano]
Le leve [prof. santi caltabiano]Le leve [prof. santi caltabiano]
Le leve [prof. santi caltabiano]
 
Coppie di forze [prof. santi caltabiano]
Coppie di forze [prof. santi caltabiano]Coppie di forze [prof. santi caltabiano]
Coppie di forze [prof. santi caltabiano]
 
Momento di una forza [prof. santi caltabiano]
Momento di una forza [prof. santi caltabiano]Momento di una forza [prof. santi caltabiano]
Momento di una forza [prof. santi caltabiano]
 
Equilibrio sul piano inclinato [s. caltabiano]
Equilibrio sul piano inclinato [s. caltabiano]Equilibrio sul piano inclinato [s. caltabiano]
Equilibrio sul piano inclinato [s. caltabiano]
 
La piramide di numeri (prof. s. caltabiano)
La piramide di numeri (prof. s. caltabiano) La piramide di numeri (prof. s. caltabiano)
La piramide di numeri (prof. s. caltabiano)
 
20 dinamica forze d'attrito
20 dinamica   forze d'attrito20 dinamica   forze d'attrito
20 dinamica forze d'attrito
 
10 dinamica concetto di forza
10 dinamica   concetto di forza10 dinamica   concetto di forza
10 dinamica concetto di forza
 
Vettori
VettoriVettori
Vettori
 
00130 cinematica moto rettilineo e velocita media
00130 cinematica   moto rettilineo e velocita media00130 cinematica   moto rettilineo e velocita media
00130 cinematica moto rettilineo e velocita media
 
50 cinematica moto rettilineo uniformemente accelerato
50 cinematica   moto rettilineo uniformemente accelerato50 cinematica   moto rettilineo uniformemente accelerato
50 cinematica moto rettilineo uniformemente accelerato
 

Jasper report anteprima con flash viewer [bysc]

  • 1. COME UTILIZZARE FLASH VIEWER DI JASPERREPORTS <DOWNLOAD E CONFIGURAZIONE> 1) Download del componente jasperreports-flash: jasperreports-flash-4.0.0.swf Questo mostra il report all'utente. -------------------------------------------------------------------------------------------------------------------------http://sourceforge.net/projects/jasperreports/files/ -------------------------------------------------------------------------------------------------------------------------2) Configuarazione del file web xml: Registrare la servlet Xml4SwfServlet. Questa sarà la sorgente dati per il componente flash del punto 1) -------------------------------------------------------------------------------------------------------------------------<servlet> <description>Necessaria per l'anteprima dei report</description> <servlet-name>Xml4SwfServlet</servlet-name> <servletclass>net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Xml4SwfServlet</servlet-name> <url-pattern>/servlets/xml4swf</url-pattern> </servlet-mapping> -------------------------------------------------------------------------------------------------------------------------3) Creare la pagina da utilizzare per l'anteprima. Creare un file preview.html (il nome può essere qualunque e con l'estensione che fa comodo: php, jsp, ...). Con il contenuto riportato di seguito. Salvarlo, ad esempio, nello stesso livello di web-inf. (N.B. Assicurarsi che il parametro FlashVars contenga il percorso corretto per la servlet) -------------------------------------------------------------------------------------------------------------------------<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>Preview</title> <link rel="stylesheet" type="text/css" href="style.css"/> </head> <body> <wicket:extend> <CENTER> <TABLE style="WIDTH: 100%; " cellSpacing="0" cellPadding="0" border="0"> <TR> <TD align="center"> <object width="750px" height="800px"> <param name="movie" value="jasperreports-flash-4.0.0.swf"/> <embed src="resources/jasperreports-flash-4.0.0.swf" FlashVars="jrpxml=servlets/xml4swf?&fetchSize=3" width="750px" height="800px"> </embed> </object> </TD> </TR> </TABLE>
  • 2. </CENTER> </wicket:extend> </body> </html> -------------------------------------------------------------------------------------------------------------------------4) Nella stessa cartella della pagina del punto 3) copiare il file jasperreports-flash-4.0.0.swf. Ovviamente può essere messo anche in un'altra cartella ma bisogna modifiare il percorso nella pagina del punto 3). </DOWNLOAD E CONFIGURAZIONE> <USO> L'esempio seguente mostra come avviare l'anteprima mediante servlet. E' facile estrapolare il funzionamento anche per atri framework come jsp, jsf, wicket, ... -------------------------------------------------------------------------------------------------------------------------@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); // Elabora parametri passati (querystring) ... // Riempire il report JasperPrint print= ...; // Recupera la sessione Session session=req.getSession(); // Salva l'oggetto print nella sessione. Questo sarà utilzzato dalla servlet Xml4SwfServlet // per restituire il contenuto al client jasperreports-flash-4.0.0.swf. session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, print); // Visualizza l'anteprima RequestDispatcher dispatcher=req.getRequestDispatcher("/preview.html"); dispatcher.forward(req, resp); } -------------------------------------------------------------------------------------------------------------------------</USO> <RIEPILOGO DEL FUNZIONAMENTO> 1) Una servlet o una pagina jsp (o altro) Creano il file JasperPring e lo assegnano alla sessione con: session.setAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, print); 2) La servlet (o anche un'altra pagina) visualizza la pagina preview.html 3) Il componente jasperreports-flash-4.0.0.swf esegue una richiesta alla servlet Xml4SwfServlet. 4) La servlet Xml4SwfServlet crea un file jrpxml (utilizzando JRXmlExporter) del file JasperPrint memorizzato nella sessione e lo restituisce (tramite stream).
  • 3. </RIEPILOGO DEL FUNZIONAMENTO> <PROBLEMI> ________________________________________________________________________________ ________________________________________________________________ IL CLIENT NON VISUALIZZA IL RIQUADRO DEL REPORT: questo può essere dovuto al fatto che il componete FLASH-PLAYER non è installato ________________________________________________________________________________ ________________________________________________________________ IMPEDIRE CACHING PER FLASH VIEWER DI JASPERREPORTS In effetti con la configurazione suddetta (riportata dalla documentazione ufficiale) si presenta il seguente problema: si avvia un report X e successivamente un report Y ma il viewer mostra ancora il report X!!!. Guardando la cache del browser ci si accorge che quando viene fatta una richiesta da parte del componente jasperreports-flash-4.0.0.swf il file jrpxml, restituito dalla servlet Xml4SwfServlet, viene memorizzato in quest'ultima. Tale file verrà quindi utilizzato anche nelle richieste successive da parte del componente flash jasperreports-flash-4.0.0.swf che di conseguenza mostrerà lo stesso contenuto. Per ovviare al problema è necessario impedire che la risposta (file jrpxml) della servlet Xml4SwfServlet venga memorizzata nella servlet. Per fare ciò è sufficiente: 1) estendere la servlet net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet come mostrato di seguito. 2) disabilitarela cache nella risposta 3) Modificare la registrazione della servlet con la nuova: punto 2) in <DOWNLOAD E CONFIGURAZIONE> Sostituendo net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet con com.myapp.servlets.PreviewServlet -------------------------------------------------------------------------------------------------------------------------package com.myapp.servlets; import import import import import java.io.IOException; javax.servlet.ServletException; javax.servlet.http.HttpServletRequest; javax.servlet.http.HttpServletResponse; net.sf.jasperreports.j2ee.servlets.Xml4SwfServlet; /** * * @author santi caltabiano */ public class PreviewServlet extends Xml4SwfServlet{ public PreviewServlet() { super(); } @Override protected long getLastModified(HttpServletRequest req) {
  • 4. //long ret=super.getLastModified(req); return -1; } @Override public void service(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Questo elemento non deve essere memorizzato nella cache del browser. Questo impedirà al // componente jasperreports-flash-x.x.x.x.swf di utilizzare la cache. Senza tale accorgimento // Verrà sempre utilizzato lo stesso report anche quando se ne vorrà visulizzare un altro. response.setHeader("Cache-Control", "no-store,no-cache,mustrevalidate"); response.setHeader("Pragma", "no-cache"); response.setHeader("Expires", "0"); super.service(request, response); } } -------------------------------------------------------------------------------------------------------------------------- ________________________________________________________________________________ ________________________________________________________________ </PROBLEMI>