2015-11-17 8 views
1

Я бы хотел, чтобы после нажатия кнопки сохранения данные должны быть сохранены и пользователь перенаправлен на страницу corbeille. Это моя текущая реализация:commandButton double action: сохранить и перенаправить на другую страницу

<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" /> 

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

Как это сделать?

+0

Имейте только одно действие. Имейте метод возврата метода сохранения как String. После того, как вы сохраните значения, верните путь к своей странице приветствия или кейлу навигации на свою страницу приветствия. Например, return "welcome.xhtml? Redirect-faces = true" –

+0

Или вы можете сделать save() в actionListener и иметь действие = "welcome.xhtml? Redirect-faces = true" –

+0

@Mahendran: ничего в вопросе не означает, что OP используя JSF 2.x. Кроме того, атрибут reRender означает RichFaces 3.x, который настоятельно предлагает JSF 1.x. Тег [jspx] по вопросу только подтверждает JSF 1.x больше, поскольку JSP устарел в JSF 2.x, и ни один здравомыслящий разработчик не использовал его в JSF 2.x. Лучше спросите OP, какую версию JSF он использует, прежде чем предлагать конкретные решения JSF 2.x. – BalusC

ответ

1

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

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

ОП попросил выполнить перенаправление, а не вперед. – BalusC

+0

Я согласен с BalusC, и я хотел бы управлять этим через мой jspx –

0

Чтобы включить переадресацию страницы просто добавить «? Сталкивается с переадресацией = истина» в конце строки возврата на бобе.

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

tag documentation

+0

Этот ответ работает только в JSF 2.x. OP нигде не подразумевал/подтверждал, что использует JSF 2.x. – BalusC

+0

Я использую jsf 1.2 –

+0

Так как я новичок в JSF, я не работал с версиями до 2.0 и не могу много сделать, чтобы помочь вам. О кнопке a4j, как сказано выше, 2 действия не будут работать, вы можете попытаться изменить второй на атрибут onComplete, он выполнит свой метод после завершения запроса. Удачи и надеюсь, что ваша проблема скоро будет решена –