commandButton двойного действия: сохранить и перенаправить на другую страницу

Я хотел бы после нажатия на кнопку сохранить, данные должны быть сохранены и пользователь перенаправлен на страницу Corbeille. Это моя текущая реализация:

<a4j:commandButton styleClass="boutonAction buttonSaveDossierAppel"
value="#{messages['save.btn.save.label']}"
update="editForm"
action="#{consultDossier.save()}"                               
disabled="#{editDossier.isEditAccess() == 'false'}"
ajaxSingle="false" immediate="false" limitToList="true"                                                         
reRender="msg" />

Я пытался с этим:

<a4j:commandButton styleClass="boutonAction buttonSaveDossierAppel"
value="#{messages['save.btn.save.label']}"
update="editForm"
action="#{consultDossier.save()}"
action="#{commonNavigationAction.manageAccessibility('E53CORBEILLE')}"                          
disabled="#{editDossier.isEditAccess() == 'false'}"
ajaxSingle="false" immediate="false" limitToList="true"                                                         
reRender="msg" />

это не работает!

Как я могу это сделать?

2 ответа

Самый простой способ: просто верните полный путь к странице приветствия в методе consultDossier.save().

public String save(){
  //Save....//
  return "welcomepage.xhtml"
}

Чтобы включить перенаправление страниц, просто добавьте "?face-redirect=true" в конце строки, возвращаемой в bean-компонент.

public String save(){
  //Save....//
  return "welcomepage.xhtml?faces-redirect=true"
}

Как указывает BallusC, этот ответ работает только в JSF 2.x, извините. Вы можете использовать атрибут onComplete кнопки a4j для выполнения перенаправления, какую версию JSF вы используете?

теговая документация

Другие вопросы по тегам