Ответ 1
Да, вы можете использовать <f:viewParam>
, чтобы установить параметр запроса как управляемое свойство bean.
<f:metadata>
<f:viewParam name="companyId" value="#{bean.companyId}" />
</f:metadata>
При необходимости вы можете вызвать действие bean, используя <f:viewAction>
(только JSF 2.2+) или <f:event type="preRenderView">
.
<f:metadata>
<f:viewParam name="companyId" value="#{bean.companyId}" />
<f:viewAction action="#{bean.onload}" />
</f:metadata>
При использовании <f:viewAction>
вы даже можете вернуть результат навигации.
public String onload() {
// ...
return "somepage";
}
Если на JSF 2.2 еще нет, вы можете использовать ExternalContext#redirect()
. См. Также среди других Как выполнить навигацию в режиме прослушивания preRenderView.
Обратите внимание, что это не относится к PrimeFaces. Это просто часть стандартного JSF. PrimeFaces - это просто библиотека компонентов, которая обеспечивает улучшенную поддержку ajax и skinnability.