You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Altuğ Bilgin Altıntaş <al...@gmail.com> on 2010/09/22 17:27:54 UTC

Page Expired after WebResponse

Hi,

Here is code to export excel;

 Link linkExcel = new Link("linkExcel") {
     public void onClick() {
        getRequestCycle().setRequestTarget(
                    new ComponentRequestTarget(tableContainer) {

                        @Override
                        public void respond(RequestCycle requestCycle) {
                          .....
                           WebResponse wr = (WebResponse) getResponse();
                           wr.setContentType("application/vnd.ms-excel;
charset=utf-8" );
                           wr.setCharacterEncoding(Constants.ENCODING);
                           wr.setHeader("content-disposition",
"attachment;filename=" + Constants.DEFAULT_EXCEL_FILE);
                        }

 }

It works great.

*Problem steps  *:

   1. Click excel link and get the excel file - great !
   2. Click a modalwindow link (Ajax) gets "*Page Expired"* error.


Any suggestions on *step 2* ?

Thanks.

Re: Page Expired after WebResponse

Posted by Altuğ Bilgin Altıntaş <al...@gmail.com>.
No I didn't use ResourceStremRequestTarget  because my aim is to  dumped
Listview component's content into excel so I used ComponentRequestTarget
which works great.

But

                WebResponse wr = (WebResponse) getResponse();
                wr.setContentType("application/vnd.ms-excel;
charset=windows-1254" );
                wr.setCharacterEncoding(Constants.ENCODING);
                wr.setHeader("content-disposition", "attachment;filename=" +
Constants.DEFAULT_EXCEL_FILE);

causes Page Expired error if click :

StatelessLink linkExcel = new StatelessLink("linkExcel") {
            private static final long serialVersionUID = 1L;

            @Override
            public void onClick() {

                getRequestCycle().setRequestTarget(
                    new ComponentRequestTarget(tableContainer) {

                        @Override
                        public void respond(RequestCycle requestCycle) {
                            Component actions =
tableContainer.get("actions");
                            actions.setVisible(false);

                            Component navigator =
tableContainer.get("navigator");
                            navigator.setVisible(false);

                            final int oldipp = listView.getRowsPerPage();

                            listView.setRowsPerPage(Integer.MAX_VALUE);
                            isExcel = true;
                            super.respond(requestCycle);

                            /* Back to original. */
                            listView.setRowsPerPage(oldipp);
                            actions.setVisible(true);
                            navigator.setVisible(true);

                        }
                    });

                WebResponse wr = (WebResponse) getResponse();
                wr.setContentType("application/vnd.ms-excel;
charset=windows-1254" );
                wr.setCharacterEncoding(Constants.ENCODING);
                wr.setHeader("content-disposition", "attachment;filename=" +
Constants.DEFAULT_EXCEL_FILE);

            }
        };

Any suggestions or samples ? .

Thanks.




2010/9/22 Rodolfo Hansen <kr...@gmail.com>

> Have you thought about using simply using a ResourceStremRequestTarget ?
>
>
> On Wed, 2010-09-22 at 20:26 +0300, Altuğ Bilgin Altıntaş wrote:
>
> > AjaxLink doesn't throw an Excel file to user.
> >
> > Also I changed the code like that :
> >
> >                  WebResponse wr =
> > (WebResponse)*target.getHeaderResponse().getResponse()
> > ;*
> >                 wr.setContentType("application/vnd.ms-excel;
> > charset=windows-1254" );
> >                 wr.setCharacterEncoding(Constants.ENCODING);
> >                 wr.setHeader("content-disposition",
> "attachment;filename=" +
> > Constants.DEFAULT_EXCEL_FILE);
> >
> > It sends the table via Ajax :) but no excel file download process begins
> >
> > Any suggestions ?
> >
> > Thanks.
> >
> >
> >
> > 2010/9/22 Rodolfo Hansen <kr...@gmail.com>
> >
> > > Use an AjaxLink (or extends abstractlink), this way the page version is
> > > not expected to increment.
> > >
> > >
> > > On Wed, 2010-09-22 at 18:27 +0300, Altuğ Bilgin Altıntaş wrote:
> > > > Hi,
> > > >
> > > > Here is code to export excel;
> > > >
> > > >  Link linkExcel = new Link("linkExcel") {
> > > >      public void onClick() {
> > > >         getRequestCycle().setRequestTarget(
> > > >                     new ComponentRequestTarget(tableContainer) {
> > > >
> > > >                         @Override
> > > >                         public void respond(RequestCycle
> requestCycle) {
> > > >                           .....
> > > >                            WebResponse wr = (WebResponse)
> getResponse();
> > > >
>  wr.setContentType("application/vnd.ms-excel;
> > > > charset=utf-8" );
> > > >
>  wr.setCharacterEncoding(Constants.ENCODING);
> > > >                            wr.setHeader("content-disposition",
> > > > "attachment;filename=" + Constants.DEFAULT_EXCEL_FILE);
> > > >                         }
> > > >
> > > >  }
> > > >
> > > > It works great.
> > > >
> > > > *Problem steps  *:
> > > >
> > > >    1. Click excel link and get the excel file - great !
> > > >    2. Click a modalwindow link (Ajax) gets "*Page Expired"* error.
> > > >
> > > >
> > > > Any suggestions on *step 2* ?
> > > >
> > > > Thanks.
> > >
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > > For additional commands, e-mail: users-help@wicket.apache.org
> > >
> > >
>
>
>

Re: Page Expired after WebResponse

Posted by Rodolfo Hansen <kr...@gmail.com>.
Have you thought about using simply using a ResourceStremRequestTarget ?


On Wed, 2010-09-22 at 20:26 +0300, Altuğ Bilgin Altıntaş wrote:

> AjaxLink doesn't throw an Excel file to user.
> 
> Also I changed the code like that :
> 
>                  WebResponse wr =
> (WebResponse)*target.getHeaderResponse().getResponse()
> ;*
>                 wr.setContentType("application/vnd.ms-excel;
> charset=windows-1254" );
>                 wr.setCharacterEncoding(Constants.ENCODING);
>                 wr.setHeader("content-disposition", "attachment;filename=" +
> Constants.DEFAULT_EXCEL_FILE);
> 
> It sends the table via Ajax :) but no excel file download process begins
> 
> Any suggestions ?
> 
> Thanks.
> 
> 
> 
> 2010/9/22 Rodolfo Hansen <kr...@gmail.com>
> 
> > Use an AjaxLink (or extends abstractlink), this way the page version is
> > not expected to increment.
> >
> >
> > On Wed, 2010-09-22 at 18:27 +0300, Altuğ Bilgin Altıntaş wrote:
> > > Hi,
> > >
> > > Here is code to export excel;
> > >
> > >  Link linkExcel = new Link("linkExcel") {
> > >      public void onClick() {
> > >         getRequestCycle().setRequestTarget(
> > >                     new ComponentRequestTarget(tableContainer) {
> > >
> > >                         @Override
> > >                         public void respond(RequestCycle requestCycle) {
> > >                           .....
> > >                            WebResponse wr = (WebResponse) getResponse();
> > >                            wr.setContentType("application/vnd.ms-excel;
> > > charset=utf-8" );
> > >                            wr.setCharacterEncoding(Constants.ENCODING);
> > >                            wr.setHeader("content-disposition",
> > > "attachment;filename=" + Constants.DEFAULT_EXCEL_FILE);
> > >                         }
> > >
> > >  }
> > >
> > > It works great.
> > >
> > > *Problem steps  *:
> > >
> > >    1. Click excel link and get the excel file - great !
> > >    2. Click a modalwindow link (Ajax) gets "*Page Expired"* error.
> > >
> > >
> > > Any suggestions on *step 2* ?
> > >
> > > Thanks.
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> > For additional commands, e-mail: users-help@wicket.apache.org
> >
> >



Re: Page Expired after WebResponse

Posted by Altuğ Bilgin Altıntaş <al...@gmail.com>.
AjaxLink doesn't throw an Excel file to user.

Also I changed the code like that :

                 WebResponse wr =
(WebResponse)*target.getHeaderResponse().getResponse()
;*
                wr.setContentType("application/vnd.ms-excel;
charset=windows-1254" );
                wr.setCharacterEncoding(Constants.ENCODING);
                wr.setHeader("content-disposition", "attachment;filename=" +
Constants.DEFAULT_EXCEL_FILE);

It sends the table via Ajax :) but no excel file download process begins

Any suggestions ?

Thanks.



2010/9/22 Rodolfo Hansen <kr...@gmail.com>

> Use an AjaxLink (or extends abstractlink), this way the page version is
> not expected to increment.
>
>
> On Wed, 2010-09-22 at 18:27 +0300, Altuğ Bilgin Altıntaş wrote:
> > Hi,
> >
> > Here is code to export excel;
> >
> >  Link linkExcel = new Link("linkExcel") {
> >      public void onClick() {
> >         getRequestCycle().setRequestTarget(
> >                     new ComponentRequestTarget(tableContainer) {
> >
> >                         @Override
> >                         public void respond(RequestCycle requestCycle) {
> >                           .....
> >                            WebResponse wr = (WebResponse) getResponse();
> >                            wr.setContentType("application/vnd.ms-excel;
> > charset=utf-8" );
> >                            wr.setCharacterEncoding(Constants.ENCODING);
> >                            wr.setHeader("content-disposition",
> > "attachment;filename=" + Constants.DEFAULT_EXCEL_FILE);
> >                         }
> >
> >  }
> >
> > It works great.
> >
> > *Problem steps  *:
> >
> >    1. Click excel link and get the excel file - great !
> >    2. Click a modalwindow link (Ajax) gets "*Page Expired"* error.
> >
> >
> > Any suggestions on *step 2* ?
> >
> > Thanks.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

Re: Page Expired after WebResponse

Posted by Rodolfo Hansen <kr...@gmail.com>.
Use an AjaxLink (or extends abstractlink), this way the page version is
not expected to increment. 


On Wed, 2010-09-22 at 18:27 +0300, Altuğ Bilgin Altıntaş wrote:
> Hi,
> 
> Here is code to export excel;
> 
>  Link linkExcel = new Link("linkExcel") {
>      public void onClick() {
>         getRequestCycle().setRequestTarget(
>                     new ComponentRequestTarget(tableContainer) {
> 
>                         @Override
>                         public void respond(RequestCycle requestCycle) {
>                           .....
>                            WebResponse wr = (WebResponse) getResponse();
>                            wr.setContentType("application/vnd.ms-excel;
> charset=utf-8" );
>                            wr.setCharacterEncoding(Constants.ENCODING);
>                            wr.setHeader("content-disposition",
> "attachment;filename=" + Constants.DEFAULT_EXCEL_FILE);
>                         }
> 
>  }
> 
> It works great.
> 
> *Problem steps  *:
> 
>    1. Click excel link and get the excel file - great !
>    2. Click a modalwindow link (Ajax) gets "*Page Expired"* error.
> 
> 
> Any suggestions on *step 2* ?
> 
> Thanks.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org