title: How to retain f:viewParam values after postback with validation failed
body: <p>I have xhtml page with simple form. This page is using for several data tables. To specify data table (and so on), I use GET request parameters. xhtml page receive it through</p>
  
  <pre><code>  &lt;f:metadata&gt;
      &lt;f:viewParam id="page" name="page" value="#{itemsBean.page}"/&gt;
    &lt;/f:metadata&gt;
  </code></pre>
  
  <p>and pass again by the navigation rules like</p>
  
  <pre><code>  &lt;navigation-case&gt;
    &lt;description&gt;
    Global rule for going to the items page from any page  
    &lt;/description&gt;
    &lt;from-outcome&gt;items&lt;/from-outcome&gt;
    &lt;to-view-id&gt;/items.xhtml&lt;/to-view-id&gt;
    &lt;redirect&gt;
      &lt;view-param&gt;
        &lt;name&gt;page&lt;/name&gt;
        &lt;value&gt;#{itemsBean.page}&lt;/value&gt;
      &lt;/view-param&gt;  
    &lt;/redirect&gt;  
    &lt;/navigation-case&gt;
  </code></pre>
  
  <p>But if I use inputs in the xhtml file like this </p>
  
  <pre><code>  &lt;h:inputText id="itemName" value="#{itemsBean.name}" 
      required="true" requiredMessage="Value for this field required!"/&gt;
  </code></pre>
  
  <p>I cannot restore view param after trying to accepting form with no text in input. 
  I tried to use hidden input for passing parameters</p>
  
  <pre><code>&lt;h:inputHidden id="page" value="#{itemsBean.page}" /&gt;
  </code></pre>
  
  <p>, but seems like validation runs before and itemsBean.page is still empty. itemsBean is RequestScoped. What things I do wrong? How can I pass the param?</p>
  
  <p>Thank you for wasting your time.</p>