Процесс f: viewParam только при загрузке страницы
Я использую<f:viewParam>
передать параметр следующим образом.
<ui:define name="metaData">
<f:metadata>
<f:viewParam name="id" value="#{bean.entity}" converter="#{converter}"/>
</f:metadata>
</ui:define>
Возможно ли это обработать<f:viewParam>
, только когда страница загружена / обновлена?
Это просто потому, что преобразователь, как указано в<f:viewParam>
стоит дорого, что преобразует значение, переданное через строку запроса, в сущность JPA. Следовательно, это связано с дорогой транзакцией базы данных, даже когдаajaxical постбэки с использованием таких компонентов, как<p:commandButton>
, <p:commandLink>
что не нужно.
Так, когда, например,<p:commandLink>
(ajaxical), дорогая бизнес-служба (в конвертере) не должна выполняться. Можно ли это сделать?
Это как-то работает (как ни странно), когдаrendered
атрибут оценивается поfacesContext.postback
лайкrendered="#{not facesContext.postback}"
но атрибутrendered
являетсяне документировано, Следовательно, это ненадежно.