You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by andyhot <an...@di.uoa.gr> on 2006/09/30 15:20:47 UTC

Re: IRequestCycle.sendRedirect() problem

When you call cycle.sendRedirect,
can you find at which url the browser is redirected ?

Which container are you using?

Tapestry passes the redirect url to the container's
HttpServletResponse.encodeRedirectURL

Perhaps that's where things get messed up...


Norbert Sándor wrote:
> Anyone? Sorry for resending but I have found no solution until now.
>
> Regards,
> Norbi
>
> Norbert Sándor wrote:
>> Hello,
>>
>> I use the direct service to generate URLs with anchors. An example URL is
>>
>>     http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first
>>
>> It works as expected as a normal link, but if I use the same URL for
>> redirection
>>
>>    
>> cycle.sendRedirect("http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first");
>>
>> I get a NumberFormatException (see below).
>>
>> What am I doing wrong?
>>
>> Thanks in advance:
>> Norbi
>>
>>
>> java.lang.NumberFormatException
>> For input string: "0#first"
>> Stack Trace:
>>
>>     * java.lang.NumberFormatException.forInputString(Unknown Source)
>>     * java.lang.Integer.parseInt(Unknown Source)
>>     * java.lang.Integer.<init>(Unknown Source)
>>     * org.apache.tapestry.util.io.IntegerAdaptor.unsqueeze(IntegerAdaptor.java:55)
>>
>>     * org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>>
>>     * $DataSqueezer_10df945b052.unsqueeze($DataSqueezer_10df945b052.java)
>>
>>     * org.apache.tapestry.data.NullDataSqueezerFilter.unsqueeze(NullDataSqueezerFilter.java:40)
>>
>>     * org.apache.tapestry.data.AbstractDataSqueezerFilter.unsqueeze(AbstractDataSqueezerFilter.java:55)
>>
>>     * $DataSqueezer_10df945b056.unsqueeze($DataSqueezer_10df945b056.java)
>>
>>     * $DataSqueezer_10df945afed.unsqueeze($DataSqueezer_10df945afed.java)
>>
>>     * org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:183)
>>
>>     * $LinkFactory_10df945afef.extractListenerParameters($LinkFactory_10df945afef.java)
>>
>>     * org.apache.tapestry.engine.DirectService.service(DirectService.java:144)
>>     * ...
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>> additional commands, e-mail: users-help@tapestry.apache.org
>> ------------------------------------------------------------------------
>>
>> No virus found in this incoming message.
>> Checked by AVG Free Edition.
>> Version: 7.1.407 / Virus Database: 268.12.9/458 - Release Date: 2006.09.27.
>>
>>   
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
> additional commands, e-mail: users-help@tapestry.apache.org 


-- 
Andreas Andreou - andyhot@apache.org - http://andyhot.di.uoa.gr
Tapestry / Tacos developer
Open Source / J2EE Consulting 


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


Re: IRequestCycle.sendRedirect() problem

Posted by Norbert Sándor <de...@erinors.com>.
It seems that it's an IE bug. I hate IE so much! >:-(

Others have similar problem, for example:
http://mail-archives.apache.org/mod_mbox/tomcat-dev/200106.mbox/%3c3B306E62.9899AEA2@freiheit.com%3e
http://bugs.php.net/bug.php?id=37609&edit=1

And here is a possible solution which requires some framework 
cooperation as well ;)
http://rifers.org/blogs/gbevin/2004/10/1/internet_explorer_doesn_t_even_h

Regards,
Norbi

andyhot wrote:
> When you call cycle.sendRedirect,
> can you find at which url the browser is redirected ?
>
> Which container are you using?
>
> Tapestry passes the redirect url to the container's
> HttpServletResponse.encodeRedirectURL
>
> Perhaps that's where things get messed up...
>
>
> Norbert Sándor wrote:
>   
>> Anyone? Sorry for resending but I have found no solution until now.
>>
>> Regards,
>> Norbi
>>
>> Norbert Sándor wrote:
>>     
>>> Hello,
>>>
>>> I use the direct service to generate URLs with anchors. An example URL is
>>>
>>>     http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first
>>>
>>> It works as expected as a normal link, but if I use the same URL for
>>> redirection
>>>
>>>    
>>> cycle.sendRedirect("http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first");
>>>
>>> I get a NumberFormatException (see below).
>>>
>>> What am I doing wrong?
>>>
>>> Thanks in advance:
>>> Norbi
>>>
>>>
>>> java.lang.NumberFormatException
>>> For input string: "0#first"
>>> Stack Trace:
>>>
>>>     * java.lang.NumberFormatException.forInputString(Unknown Source)
>>>     * java.lang.Integer.parseInt(Unknown Source)
>>>     * java.lang.Integer.<init>(Unknown Source)
>>>     * org.apache.tapestry.util.io.IntegerAdaptor.unsqueeze(IntegerAdaptor.java:55)
>>>
>>>     * org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>>>
>>>     * $DataSqueezer_10df945b052.unsqueeze($DataSqueezer_10df945b052.java)
>>>
>>>     * org.apache.tapestry.data.NullDataSqueezerFilter.unsqueeze(NullDataSqueezerFilter.java:40)
>>>
>>>     * org.apache.tapestry.data.AbstractDataSqueezerFilter.unsqueeze(AbstractDataSqueezerFilter.java:55)
>>>
>>>     * $DataSqueezer_10df945b056.unsqueeze($DataSqueezer_10df945b056.java)
>>>
>>>     * $DataSqueezer_10df945afed.unsqueeze($DataSqueezer_10df945afed.java)
>>>
>>>     * org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:183)
>>>
>>>     * $LinkFactory_10df945afef.extractListenerParameters($LinkFactory_10df945afef.java)
>>>
>>>     * org.apache.tapestry.engine.DirectService.service(DirectService.java:144)
>>>     * ...
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>>> additional commands, e-mail: users-help@tapestry.apache.org
>>> ------------------------------------------------------------------------
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.407 / Virus Database: 268.12.9/458 - Release Date: 2006.09.27.
>>>
>>>   
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>> additional commands, e-mail: users-help@tapestry.apache.org 
>>     
>
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Re: IRequestCycle.sendRedirect() problem

Posted by Norbert Sándor <de...@erinors.com>.
What do you think about a servlet filter which cuts the anchor part?
Is the character '#' used in URLs for anything other than anchors?

Regards,
Norbi

Ps.: this topic seems to become offtopic because it's not tapestry 
related. But maybe other developers are interested as well about the 
best tapestry-based solution for this problem...

andyhot wrote:
> When you call cycle.sendRedirect,
> can you find at which url the browser is redirected ?
>
> Which container are you using?
>
> Tapestry passes the redirect url to the container's
> HttpServletResponse.encodeRedirectURL
>
> Perhaps that's where things get messed up...
>
>
> Norbert Sándor wrote:
>   
>> Anyone? Sorry for resending but I have found no solution until now.
>>
>> Regards,
>> Norbi
>>
>> Norbert Sándor wrote:
>>     
>>> Hello,
>>>
>>> I use the direct service to generate URLs with anchors. An example URL is
>>>
>>>     http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first
>>>
>>> It works as expected as a normal link, but if I use the same URL for
>>> redirection
>>>
>>>    
>>> cycle.sendRedirect("http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first");
>>>
>>> I get a NumberFormatException (see below).
>>>
>>> What am I doing wrong?
>>>
>>> Thanks in advance:
>>> Norbi
>>>
>>>
>>> java.lang.NumberFormatException
>>> For input string: "0#first"
>>> Stack Trace:
>>>
>>>     * java.lang.NumberFormatException.forInputString(Unknown Source)
>>>     * java.lang.Integer.parseInt(Unknown Source)
>>>     * java.lang.Integer.<init>(Unknown Source)
>>>     * org.apache.tapestry.util.io.IntegerAdaptor.unsqueeze(IntegerAdaptor.java:55)
>>>
>>>     * org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>>>
>>>     * $DataSqueezer_10df945b052.unsqueeze($DataSqueezer_10df945b052.java)
>>>
>>>     * org.apache.tapestry.data.NullDataSqueezerFilter.unsqueeze(NullDataSqueezerFilter.java:40)
>>>
>>>     * org.apache.tapestry.data.AbstractDataSqueezerFilter.unsqueeze(AbstractDataSqueezerFilter.java:55)
>>>
>>>     * $DataSqueezer_10df945b056.unsqueeze($DataSqueezer_10df945b056.java)
>>>
>>>     * $DataSqueezer_10df945afed.unsqueeze($DataSqueezer_10df945afed.java)
>>>
>>>     * org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:183)
>>>
>>>     * $LinkFactory_10df945afef.extractListenerParameters($LinkFactory_10df945afef.java)
>>>
>>>     * org.apache.tapestry.engine.DirectService.service(DirectService.java:144)
>>>     * ...
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>>> additional commands, e-mail: users-help@tapestry.apache.org
>>> ------------------------------------------------------------------------
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.407 / Virus Database: 268.12.9/458 - Release Date: 2006.09.27.
>>>
>>>   
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>> additional commands, e-mail: users-help@tapestry.apache.org 
>>     
>
>
>   


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


Re: IRequestCycle.sendRedirect() problem

Posted by Norbert Sándor <de...@erinors.com>.
It seems that it's an IE bug. I hate IE so much! >:-(

Others have similar problem, for example:
http://mail-archives.apache.org/mod_mbox/tomcat-dev/200106.mbox/%3c3B306E62.9899AEA2@freiheit.com%3e
http://bugs.php.net/bug.php?id=37609&edit=1

And here is a possible solution which requires some framework 
cooperation as well ;)
http://rifers.org/blogs/gbevin/2004/10/1/internet_explorer_doesn_t_even_h

Regards,
Norbi

andyhot wrote:
> When you call cycle.sendRedirect,
> can you find at which url the browser is redirected ?
>
> Which container are you using?
>
> Tapestry passes the redirect url to the container's
> HttpServletResponse.encodeRedirectURL
>
> Perhaps that's where things get messed up...
>
>
> Norbert Sándor wrote:
>   
>> Anyone? Sorry for resending but I have found no solution until now.
>>
>> Regards,
>> Norbi
>>
>> Norbert Sándor wrote:
>>     
>>> Hello,
>>>
>>> I use the direct service to generate URLs with anchors. An example URL is
>>>
>>>     http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first
>>>
>>> It works as expected as a normal link, but if I use the same URL for
>>> redirection
>>>
>>>    
>>> cycle.sendRedirect("http://localhost:8080/test/Home,$DirectLink.sdirect?sp=0#first");
>>>
>>> I get a NumberFormatException (see below).
>>>
>>> What am I doing wrong?
>>>
>>> Thanks in advance:
>>> Norbi
>>>
>>>
>>> java.lang.NumberFormatException
>>> For input string: "0#first"
>>> Stack Trace:
>>>
>>>     * java.lang.NumberFormatException.forInputString(Unknown Source)
>>>     * java.lang.Integer.parseInt(Unknown Source)
>>>     * java.lang.Integer.<init>(Unknown Source)
>>>     * org.apache.tapestry.util.io.IntegerAdaptor.unsqueeze(IntegerAdaptor.java:55)
>>>
>>>     * org.apache.tapestry.util.io.DataSqueezerImpl.unsqueeze(DataSqueezerImpl.java:181)
>>>
>>>     * $DataSqueezer_10df945b052.unsqueeze($DataSqueezer_10df945b052.java)
>>>
>>>     * org.apache.tapestry.data.NullDataSqueezerFilter.unsqueeze(NullDataSqueezerFilter.java:40)
>>>
>>>     * org.apache.tapestry.data.AbstractDataSqueezerFilter.unsqueeze(AbstractDataSqueezerFilter.java:55)
>>>
>>>     * $DataSqueezer_10df945b056.unsqueeze($DataSqueezer_10df945b056.java)
>>>
>>>     * $DataSqueezer_10df945afed.unsqueeze($DataSqueezer_10df945afed.java)
>>>
>>>     * org.apache.tapestry.services.impl.LinkFactoryImpl.extractListenerParameters(LinkFactoryImpl.java:183)
>>>
>>>     * $LinkFactory_10df945afef.extractListenerParameters($LinkFactory_10df945afef.java)
>>>
>>>     * org.apache.tapestry.engine.DirectService.service(DirectService.java:144)
>>>     * ...
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>>> additional commands, e-mail: users-help@tapestry.apache.org
>>> ------------------------------------------------------------------------
>>>
>>> No virus found in this incoming message.
>>> Checked by AVG Free Edition.
>>> Version: 7.1.407 / Virus Database: 268.12.9/458 - Release Date: 2006.09.27.
>>>
>>>   
>>>       
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org For
>> additional commands, e-mail: users-help@tapestry.apache.org 
>>     
>
>
>   


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