в первую очередь извините за мой английский. У меня есть две страницы в JSF2, одна для списка пассажиров, а другая для создания / обновления пассажиров. У меня также есть два компонента @ViewScoped, один со списком пассажиров и один для удержания на страницеB выбранного пассажира. Я вижу способы передать пассажира через viewParam или @ManagedProperty, но я не хочу писать конвертер.
Что я хочу знать, есть ли способ передать объект со страницы A на страницу B без передачи идентификатора пассажира и записи преобразователя или без передачи идентификатора, а затем перейти в БД, чтобы получить пассажира. Я делаю и работаю следующим образом. Я устанавливаю в области flash с помощью setPropertyActionListener выбранный объект и перехожу на страницу B, в @PostConstruct viewScopedBean я получаю flashScope и извлекаю объект. Как я уже сказал, это работает, но я не знаю, правильно ли это. Вот кодовая страница A:
<p:column width="10" style="text-align: center;">
<p:commandButton icon="ui-icon-pencil" action="editClientes?faces-redirect=true">
<f:setPropertyActionListener target="#{flash.pax}" value="#{row}"/>
</p:commandButton>
</p:column>
@PostConstruct bean-компонента pageB
@PostConstruct
private void initBean(){
this.pax = (Passenger) JSFUtils.getFlashScope().get("pax");
if(this.pax == null){
this.pax = new Passenger();
}
}
Это правильно, или правильный способ - написать конвертер? Спасибо.