<?php
$fname = "David";
// Single quotes
echo 'My name is $fname .'; // My name is $fname.
// Double quotes
echo "My name is $fname."; // My name is David.`
// Curly braces to isolate the name of the variable
echo "My name is {$fname}."; // My name is David.
// Example of heredoc
echo $foo = <<<abc
My name is {$fname}
abc;
// Example of nowdoc
echo <<< 'abc'
My name is "$name".
Now, I am printing some
abc;
?>
Да, вы можете использовать <f:viewParam>
, чтобы установить параметр запроса как свойство управляемого компонента.
<f:metadata>
<f:viewParam name="companyId" value="#{bean.companyId}" />
</f:metadata>
Вы можете при необходимости вызвать действие компонента с помощью <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.
параметры url также могут обрабатываться как параметры запроса, поэтому вы также можете получить доступ через
FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap()
Существует библиотека утилиты, OmniFaces , которая делает это из коробки.
@Inject @Param
private String key;
@Inject @Param
private Long id;