You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by bu...@apache.org on 2015/08/01 22:19:48 UTC

svn commit: r960445 - in /websites/production/tapestry/content: cache/main.pageCache page-navigation.html

Author: buildbot
Date: Sat Aug  1 20:19:47 2015
New Revision: 960445

Log:
Production update by buildbot for tapestry

Modified:
    websites/production/tapestry/content/cache/main.pageCache
    websites/production/tapestry/content/page-navigation.html

Modified: websites/production/tapestry/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/tapestry/content/page-navigation.html
==============================================================================
--- websites/production/tapestry/content/page-navigation.html (original)
+++ websites/production/tapestry/content/page-navigation.html Sat Aug  1 20:19:47 2015
@@ -220,7 +220,7 @@ public Object onAction(){
     product = dao.getById(productId);
   }
 </pre>
-</div></div><p>This is a minimal approach, perhaps good enough for a prototype.</p><p>When the user clicks a link, the component event request URL will initially be something like "http://.../productlisting.select/99" and the final render request URL will be something like "http://.../productdetails". Notice that the product id ("99") does not appear in the render request URL.</p><p>It has some minor flaws:</p><ul><li>It requires a session (to store the productId field between requests).</li><li>It may fail if the ProductDetails page is accessed before a valid product id is set.</li><li>The URL does not indicate the identity of the product; if the user bookmarks the URL and comes back later, they will trigger the previous case (no valid product id).</li></ul><p><span class="confluence-anchor-link" id="PageNavigation-activationpattern"></span></p><h3 id="PageNavigation-Pattern2:ComponentEventRequests/NoPersistentData">Pattern 2: Component Event Requests / No Persistent Data</h3><p>We
  can improve the previous example without changing the ProductListing page, using a passivation and activation context to avoid the session and make the links more bookmarkable.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>ProductDetails.java</b></div><div class="codeContent panelContent pdl">
+</div></div><p>This is a minimal approach, perhaps good enough for a prototype.</p><p>When the user clicks a link, the component event request URL will initially be something like "http://.../productlisting.select/99" and the final render request URL will be something like "http://.../productdetails". Notice that the product id ("99") does not appear in the render request URL.</p><p>This pattern has the following drawbacks:</p><ul><li>It requires a session (to store the productId field between requests).</li><li>It may fail if the ProductDetails page is accessed before a valid product id is set.</li><li>The URL does not indicate the identity of the product; if the user bookmarks the URL and comes back later, they will trigger the previous case (no valid product id).</li></ul><p><span class="confluence-anchor-link" id="PageNavigation-activationpattern"></span></p><h3 id="PageNavigation-Pattern2:ComponentEventRequests/NoPersistentData">Pattern 2: Component Event Requests / No Persiste
 nt Data</h3><p>We can improve the previous example without changing the ProductListing page, using a passivation and activation context to avoid the session and make the links more bookmarkable.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>ProductDetails.java</b></div><div class="codeContent panelContent pdl">
 <pre class="brush: java; gutter: false; theme: Default" style="font-size:12px;">  @Inject
   private ProductDAO dao;