jsf - Accessing query-string parameters in a post construct method in a view scoped managed bean -


i have following xhtml page.

<html xmlns="http://www.w3.org/1999/xhtml"       xmlns:h="http://java.sun.com/jsf/html"       xmlns:f="http://java.sun.com/jsf/core"       xmlns:c="http://java.sun.com/jsp/jstl/core"       xmlns:ui="http://java.sun.com/jsf/facelets">      <h:head>         <title>test</title>     </h:head>      <f:metadata>         <f:viewparam name="id" value="#{testmanagedbean.id}" maxlength="20"/>     </f:metadata>      <h:body>         <h:form id="form" prependid="true">          </h:form>     </h:body> </html> 

the managed bean corresponds above jsf page.

@managedbean @viewscoped public final class testmanagedbean implements serializable {     private static final long serialversionuid = 1l;     private long id;      @postconstruct     private void init() {         system.out.println("id = "+id);     }      public long getid() {         return id;     }      public void setid(long id) {         this.id = id;     } } 

i'm passing id query-string parameter using url - https://localhost:8181/project-war/admin_side/test.jsf?id=1.

trying display id in init() method null.

this demonstration. in reality, <f:viewparam> put inside <ui:define name="metadata"> , on master template <ui:insert name="metadata"/> defined.

what overlooking here?

i have several times passed such parameters , converted jpa entity using appropriate converters don't know why scalar value not being set property of managed bean. have tried changing type of id string did not either (nor @managedproperty(value="#{id}") worked).

the value of f:viewparam not available during @postconstruct. use f:viewaction instead.

see

see also


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -