#{requestScope}
ссылается на карту атрибутов запроса, которую можно получить по ExternalContext#getRequestMap()
(что, в свою очередь, делегирует дальше HttpServletRequest#get/setAttribute()
, если вы знаете базовый API сервлетов).
В следующей строке
<f:setPropertyActionListener value="#{true}"
target="#{requestScope.shouldRender}" />
в основном задает атрибут запроса с именем "shouldRender" и значением "true" в текущем запросе, когда родительский компонент команды был
Рендеринг атрибута выходного текста просто перехватывает его во время ответа рендеринга того же самого HTTP-запроса:
rendered="#{requestScope.shouldRender}"
Все со всеми, это просто способ установкиатрибут в области запроса без необходимости для целевого объекта EJB.Эффективно так же, как
<p:outputPanel id="lazypanel" layout="block">
<h:outputText value="This part of page is lazily loaded on demand using a RemoteCommand"
rendered="#{bean.shouldRender}"/>
</p:outputPanel>
<p:remoteCommand name="lazyload" update="lazypanel">
<f:setPropertyActionListener value="#{true}"
target="#{bean.shouldRender}" />
</p:remoteCommand>
с
@ManagedBean
@RequestScoped
public class Bean {
private boolean shouldRender;
// Getter+setter.
}