I&#39;ve been meaning to file this issue for a while. I always seem to remember when I am on stage giving a presentation, but not when at my computer :(<br><br>The &lt;view-param&gt; element that was introduced as a child of the &lt;redirect&gt;<br>
element was supposed to be called &lt;redirect-param&gt;. Unfortunately, something got<br>lost in translation and the terminology for &quot;view parameters&quot; got mixed up with<br>redirect parameters. (I take the blame for not following up with a review of this<br>
topic in the spec document prior to final release).<br><br>I&#39;ll explain the difference. A view parameter is a mapping between a request<br>parameter and a bean property and is associated with a particular view ID. If<br>
you are linking or redirecting to that view ID, you can have those mappings run<br>in reverse to build a query string. This is activated with the &quot;include view<br>parameters&quot; switch on the link (UIOutcomeTarget) component or &lt;redirect&gt; element.<br>
<br>A redirect parameter in the navigation is equivalent to an &lt;f:param&gt; on a button<br>or link. It is a manual setting, which may (or may not) override the value of a<br>view parameter. A perfect example is when you want to create a link to the<br>
previous page of a paginated list. You manually override &quot;page&quot; so that it is<br>one less than the current page. &lt;f:param name=&quot;page&quot; value=&quot;#{nav.page - 1}&quot;/&gt;<br><br>&lt;view-param&gt; has no business being a child of &lt;redirect&gt; and should be renamed<br>
to &lt;redirect-param&gt;.<br><br>&lt;navigation-case&gt;<br>   &lt;from-action&gt;#{editor.save}&lt;/from-action&gt;<br>   &lt;from-outcome&gt;success&lt;/from-outcome&gt;<br>   &lt;to-view-id&gt;/entry.xhtml&lt;/to-view-id&gt;<br>
   &lt;redirect&gt;<br>      &lt;redirect-param&gt;<br>         &lt;name&gt;id&lt;/name&gt;<br>         &lt;value&gt;#{<a href="http://entry.id">entry.id</a>}&lt;/value&gt;<br>      &lt;/redirect-param&gt;<br>   &lt;/redirect&gt;<br>
&lt;/navigation-case&gt;<br><br>If you wanted to let view parameters manage the value of the &quot;id&quot; request parameter, it would be:<br><br>&lt;navigation-case&gt;<br>
   &lt;from-action&gt;#{editor.save}&lt;/from-action&gt;<br>
   &lt;from-outcome&gt;success&lt;/from-outcome&gt;<br>
   &lt;to-view-id&gt;/entry.xhtml&lt;/to-view-id&gt;<br>
   &lt;redirect include-view-params=&quot;true&quot;/&gt;<br>
&lt;/navigation-case&gt;<br><br>/entry.xhtml<br>&lt;f:view&gt;<br>   &lt;f:metadata&gt;<br>      &lt;f:viewParam name=&quot;id&quot; value=&quot;#{<a href="http://entry.id">entry.id</a>}&quot;/&gt;<br>   &lt;/f:metadata&gt;<br>
   ...<br>&lt;/f:view&gt;<br><br>See the difference?<br><br>-Dan<br clear="all"><br>-- <br>Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br>
<a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br><a href="http://www.google.com/profiles/dan.j.allen">http://www.google.com/profiles/dan.j.allen</a><br>