2012-06-09 4 views
2

Я хотел бы знать, как перенаправить на ту же страницу на вызов действия.Как перенаправить обратно на ту же страницу, используя PrettyFaces?

У меня есть этот CommandButton:

<h:commandButton action="#{someBean.edit}" value="Edit" /> 

Это действие:

@Named 
@RequestScoped 
public class SomeBean { 

    public String edit() { 
     // some logic 
     return "theSamePage?faces-redirect=true"; 
    } 

} 

Но это не перенаправлять на той же странице, он просто обновляет его так, когда я пытаюсь освежить страницы, нажав клавишу F5, происходит дублирование отправки. Это может быть разрешено при обычных обстоятельствах с помощью post/redirect/get. Но лица не будут отправлять перенаправление, когда метод действия возвращает тот же viewId, что и viewId страницы, на которую отправляется запрос.

Я использую поверхности.

+0

Пожалуйста, уточните свой вопрос. Основываясь на моем удаленном ответе, вы используете PrettyFaces, но эта важная деталь отсутствует в вопросе. – BalusC

+0

Я не думаю, что это актуально, но я все равно обновил его. – VaclavDedik

+1

Это определенно актуально. Стандартное решение JSF не сработало для вас. – BalusC

ответ

5
return "pretty:"; 

В значительной степени то, что вам нужно.

+1

Спасибо, брат! Ты спас мой день много. – VaclavDedik

0

Я сделал некоторый поиск и переписывание моего ответа:

Вида идентификатор в красивом лицо вы можете получить, как это сделать:

 PrettyContext prettyContext = PrettyContext.newInstance((HttpServletRequest) request); 
     String viewId = prettyContext.getCurrentCalculatedViewId(); 

Проверьте это для получения дополнительной информации: https://groups.google.com/group/prettyfaces-users/browse_thread/thread/f50482709d7ec69b?pli=1

+1

Это не совсем то, о чем спрашивает OP. OP нуждается в перенаправлении на один и тот же взгляд, а не на произвольное представление. – BalusC

+0

Я пробовал, но он не работает, проблема с двойной почтой все еще возникает. – VaclavDedik

Смежные вопросы