ViewParam vs @ManagedProperty (valeur = "# {param.id}")

Quelle est la différence entre définir des paramètres de vue comme ceci: <f:metadata> <f:viewParam name="id" value="#{someBean.id}"/> </f:metadata> Et définissant la propriété dans le ManagedBean comme ceci: @ManagedProperty(value = "#{param.id}") private Integer id;...