myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Gaudin" <tho...@gmail.com>
Subject Re: Problem when report generation and JSF navigation
Date Wed, 05 Apr 2006 08:47:27 GMT
Works like a charm!
Thanks Murat (and Martin)

Thomas

On 4/4/06, Murat Hazer <murathazer@gmail.com> wrote:
>
> Hi,
>
> You should add this line just above facesContext.responseComplete() line;
>
> facesContext.getApplication().getStateManager().saveSerializedView(
>             facesContext);
>
> PS: Martin's solution...
>
>
> On 4/4/06, Sébastien Marin <the.marin@free.fr> wrote:
> >
> > Hello, i have the same problem. The first action is Ok but the second
> > just do a
> > refresh or made error. It is the same process when we click on the back
> > icon of
> > the web browser.
> >
> > I would like to understand. Thanks
> > Selon Thomas Gaudin <thogau@gmail.com>:
> >
> > -> Hi,
> > ->
> > -> I am using JasperReport to generate PDF files "on the fly".
> > -> It is working fine the first time I click on the link to the report
> > but it
> > -> fails alternatively every 2 clicks exactly...
> > -> I guess I am somehow messing up the navigation mecanism but I don't
> > know
> > -> where to start my investigation.
> > -> Any hint is warmly welcome.
> > -> Thanks,
> > ->
> > -> Thomas
> > ->
> > -> Here is the code :
> > -> --------------------
> > -> JSF Bean :
> > -> public class Reports extends BasePage implements Serializable {
> > ->     public String users() {
> > ->         List results = userManager.getUsers(null);
> > ->         Map parameters = new HashMap();
> > ->         parameters.put("format", "pdf");
> > ->         parameters.put("WEBDIR",
> > getServletContext().getRealPath("/"));
> > ->         try{
> > ->             InputStream is =
> > ->
> > getServletContext().getResourceAsStream("/WEB-INF/reports/userList.jrxml");
> > ->             JRBeanCollectionDataSource ds = new
> > -> JRBeanCollectionDataSource(results);
> > ->
> > ->             getResponse().setContentType("application/pdf");
> > ->             getResponse().addHeader("Content-Disposition",
> > "attachment;
> > -> filename=userList.pdf");
> > ->
> > ->             JasperDesign jasperDesign = JRXmlLoader.load(is);
> > ->             JasperReport jasperReport =
> > JasperCompileManager.compileReport
> > -> (jasperDesign);
> > ->             JasperPrint jasperPrint =
> > -> JasperFillManager.fillReport(jasperReport,
> > -> parameters, ds);
> > ->             JasperExportManager.exportReportToPdfStream(jasperPrint,
> > -> getResponse().getOutputStream());
> > ->
> > ->             getFacesContext().responseComplete();
> > ->         }
> > ->         catch(Exception e){
> > ->             log.error(e);
> > ->         }
> > ->         return null;
> > ->     }
> > -> --------------------
> > -> The link to generate report :
> > -> <h:commandLink value="report" action="#{reports.users}"/>
> > -> --------------------
> > -> faces-config.xml :
> > ->      <managed-bean>
> > ->         <managed-bean-name>reports</managed-bean-name>
> > ->         <managed-bean-class>org.appfuse.webapp.action.Reports
> > -> </managed-bean-class>
> > ->         <managed-bean-scope>request</managed-bean-scope>
> > ->         <managed-property>
> > ->             <property-name>userManager</property-name>
> > ->             <value>#{userManager}</value>
> > ->         </managed-property>
> > ->     </managed-bean>
> >
>
>
>
> --
> Murat HAZER
> Elektrik-Elektronik Mühendisi - Electrical-Electronics Engineer
> Tel - Phone: +90 222 335 05 80 - 1395
> Cep Tel - Mobile Phone: +90 532 472 00 63
> Blog URL: http://www.projedunyasi.org
> Yahoo Group: http://groups.yahoo.com/group/malatyafenlisesi/
>

Mime
View raw message