title: f:viewParam doesn't pass required parameter when new xmlns.jcp.org namespace is used
body: <p>I am trying to use Glassfish 4.0 with Java EE 7 XML namespaces to test the sample below.</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core"&gt;
      &lt;h:head&gt;
          &lt;title&gt;Title&lt;/title&gt;
      &lt;/h:head&gt;
      &lt;h:body&gt;
          &lt;h:form&gt;
               &lt;ul&gt;
                   &lt;ui:repeat value="#{appLoad.movieList}" var="movie"&gt;
                      &lt;li&gt;
                          &lt;h:link value="#{movie.title}" outcome="movie" includeViewParams="true"&gt;
                              &lt;f:param name="id" value="#{movie.id}"/&gt;
                          &lt;/h:link&gt;
                      &lt;/li&gt;
                  &lt;/ui:repeat&gt;
              &lt;/ul&gt;
          &lt;/h:form&gt;
      &lt;/h:body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>It links to the following page <code>movie.xhtml</code>:</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core"&gt;
      &lt;h:head&gt;
          &lt;f:metadata&gt;
              &lt;f:viewParam name="id" value="#{appLoad.movieId}"/&gt;
              &lt;f:event listener="#{appLoad.movieDetail()}" type="preRenderView"/&gt;
          &lt;/f:metadata&gt;
      &lt;/h:head&gt;
      &lt;h:body&gt;
          &lt;h:form&gt;
              &lt;h:panelGrid columns="2"&gt;
                  &lt;h:panelGrid columns="1" width="400"&gt;
                      &lt;h:panelGrid columns="1"&gt;
                          Title : &lt;h:outputLabel value="#{appLoad.movie.title}"/&gt;
                      &lt;/h:panelGrid&gt;  
                  &lt;/h:panelGrid&gt; 
              &lt;/h:panelGrid&gt;  
          &lt;/h:form&gt;
      &lt;/h:body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>The <code>#{appLoad}</code> backing bean is</p>
  
  <pre><code>@ManagedBean
  @RequestScoped
  public class AppLoad {
  
      @EJB
      private MovieFacade movieFacade;
      private Movie movie = new Movie();
      private List&lt;Movie&gt; movieList;
      private int movieId;
  
      @PostConstruct
      public void movieDetail(){
          movieList = movieFacade.findAll();
          movie = movieFacade.find(movieId);
          System.out.println(movieId);
      }
  
      // Getters+setters.        
  }
  </code></pre>
  
  <p>When the index page is run, and the link is been clicked, the url outrightly changed to </p>
  
  <blockquote>
    <p>result.xhtml?id=8</p>
  </blockquote>
  
  <p>But no data is been displayed. Its comes as blank. I figured out that <code>#{appLoad.movieId}</code> is <code>null</code>. In other words, the <code>&lt;f:viewParam&gt;</code> does not set this request parameter.</p>
  
  <p>The only work around I had was to change the XML namespaces back to the older version.</p>
  
  <pre><code>&lt;html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"&gt;
  </code></pre>
  
  <p>I'm guessing I'm getting something wrong here. How is this problem caused and how am I supposed to use the new XML namespaces?</p>