tapestry-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Lubetkin" <jeff...@zillow.com>
Subject RE: Why does PageLink include state in the URL?
Date Mon, 03 Apr 2006 16:23:36 GMT
Done.  http://wiki.apache.org/jakarta-tapestry/FormClientPersistence

I did that pretty quickly, so please let me know if you have any
questions.

jeff

-----Original Message-----
From: Derick Fernando [mailto:derickf@thelabllc.com] 
Sent: Monday, April 03, 2006 9:03 AM
To: Tapestry users
Subject: Re: Why does PageLink include state in the URL?

Please do post it, it would be quite handy.

Jeff Lubetkin wrote:
> We use both server side and client side persistence at Zillow.  We've
> had no problems with server session and PageLink, but we did have the
> same problem as Geoff, where client persisted data ended up on too
many
> URLs.  What we really wanted was for the data to persist across form
> submissions only, so that when the page containing a form re-rendered
> due to a validation failure, it had all of its necessary data
available.
> 
> We solved this by creating a new client persistence strategy that only
> encodes the persisted state to URLs that are being used in a post.
The
> code is trivial, it works great, and I can share it on the wiki if
> there's interest.
> 
> jeff
> 
> PS  Not sure what you mean by @PageLink not being "session-aware",
> Michael.  For cookied users, linking a client back to the session is
> entirely up to the servlet container.  For non-cookied users, the only
> servlet obligation is to pass URLs through the encoder, which PageLink
> does.  Can you characterize your problem better?
> 
> -----Original Message-----
> From: Gentry, Michael (Contractor)
[mailto:michael_gentry@fanniemae.com]
> 
> Sent: Monday, April 03, 2006 7:50 AM
> To: Tapestry users
> Subject: RE: Why does PageLink include state in the URL?
> 
> I find this a bit interesting because in my experience, @PageLink has
> ignored my session scoped data (it is not session-aware), which kept
> resulting in NPEs (and the nasty exception page for users) on my
> navigation links when the session timed out (all of my pages use
session
> data to render).  My workaround for that was to switch everything to
use
> @DirectLink and call a silly listener method:
> 
> public String gotoPage(String pageName)
> {
>   return pageName;
> }
> 
> And then in the .html:
> 
> <a href="#" jwcid="@DirectLink" listener="listener:gotoPage"
> parameters="literal:Home">...</a>
> 
> 
> I don't know if such a technique would be helpful for you or not (I've
> not used client-side persistence).
> 
> /dev/mrg
> 
> 
> 
> -----Original Message-----
> From: news [mailto:news@sea.gmane.org] On Behalf Of Geoff Callender
> Sent: Monday, April 03, 2006 10:27 AM
> To: tapestry-user@jakarta.apache.org
> Subject: Why does PageLink include state in the URL?
> 
> 
> When my page has @Persist("client") on some properties, the state
> becomes 
> included in the URL of PageLinks.  eg.
> 
>     <a href="/perspectives/app?page=web%2Fmain%
> 2FTestsPage&service=page&state:Home=BrO0ABXcOAAAAAQAAB3N0cmluZ3
> NzcgATamF2YS51dGlsLkFycmF5TGlzdHiB0h2Zx2GdAwABSQAEc2l6ZXhwAAAA
> A3cEAAAACnQABUZpcnN0dAAGU2Vjb25kdAAFVGhpcmR4">PageLink</a>
> 
> Does this serve a purpose?
> 
> The problem is that when the URL becomes too long then the link fails
> silently.  
> But all I want to do is go to a different page with a link on the
> navigation bar,
> regardless of the data on the current page.
> 
> Geoff
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> 
> 
> 
> __________ NOD32 1.1467 (20060402) Information __________
> 
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
> 
> 
> 

.........................................

Derick Fernando
Lead Architect
derickf@thelabllc.com
http://www.thelabllc.com

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


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


Mime
View raw message