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 вы используете?