2013-10-01 17 views
8

Cách chuyển hướng đến cùng một trang (Tôi không biết trang; chuyển hướng được thực hiện trong trình đơn được một số trang chia sẻ)?Cách chuyển hướng đến cùng một trang sau khi yêu cầu POST

tôi đã cố gắng

return "?faces-redirect=true"; 

ở phần cuối của phương pháp hành động, nhưng tôi nhận được một thông báo lỗi vì nó không phải là có thể tìm thấy một trường hợp chuyển hướng cho "? Faces-redirect = true".

Cảm ơn trước sự giúp đỡ của bạn.

Trả lời

18

Bạn cần cung cấp ID chế độ xem hợp lệ trong kết quả chứ không chỉ là chuỗi truy vấn. Bạn có thể lấy ID chế độ xem hiện tại theo UIViewRoot#getViewId().

String viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId(); 
return viewId + "?faces-redirect=true"; 
-1

Chỉ cần trả lại null hoặc chuỗi trống từ hành động ứng dụng của bạn.

Theo JSF2.2 spec, phần 7.4.1:

Nếu kết quả được trả về bởi các hành động ứng dụng là null hoặc trống chuỗi, và không ai trong số các trường hợp điều hướng bản đồ đến chế độ xem hiện tại số nhận dạng có biểu thức điều kiện không trống, cùng một chế độ xem phải là được hiển thị lại.

+0

Bạn cũng có thể có phương pháp trống. Nó thậm chí còn rõ ràng hơn. Nó giống nhau và hoạt động hoàn hảo. – zmirc

+3

Điều này không thực hiện chuyển hướng. Điều này thực hiện một chuyển tiếp. – BalusC

Các vấn đề liên quan