2012-12-03 36 views
21

Tôi đã cung cấp giao diện cho phép người dùng tạo tài khoản cho một ứng dụng. Khi kết thúc quá trình, phương thức đăng ký thực hiện quá trình đăng ký sẽ thêm thông báo thành công vào trang và sau đó điều hướng người dùng đến bảng dữ liệu trung tâm hiển thị tất cả người dùng hệ thống.Cách hiển thị thông báo khuôn mặt trong trang được chuyển hướng

Vấn đề tôi có là thông báo thành công không bao giờ được hiển thị do chuyển hướng trang. Tôi không thể đợi() trong phương thức vì thông báo JSF sẽ không được hiển thị cho đến khi phương thức hoàn tất. Lý tưởng nhất là tôi muốn thông điệp thành công được hiển thị và sau đó một thời gian nhất định sau đó trang được chuyển hướng.

Tôi làm cách nào để đạt được điều này?

Trả lời

48

Keep the message trong the flash scope. Nó sẽ tồn tại chuyển hướng.

context.addMessage(clientId, message); 
externalContext.getFlash().setKeepMessages(true); 
return "users.xhtml?faces-redirect=true"; 

Lưu ý rằng Mojarra phiên bản cũ có một số đặc biệt lỗi phạm vi flash liên quan:

Bạn muốn tốt nhất để nâng cấp lên tối thiểu là cá móm 2.1.27/2.2.5 để đảm bảo rằng ứng dụng của bạn không bị ảnh hưởng bởi điều này.

+0

Cảm ơn BalusC, tôi có cần phải gọi cập nhật cho thư trên trang mới hay chúng được kích hoạt theo mặc định khi trang tải? – tarka

+0

Không, chuyển hướng tạo một yêu cầu đồng bộ, do đó không có phương tiện hiển thị một phần. Nó chỉ được hiển thị như một yêu cầu GET hoàn toàn mới. Vì vậy, tất cả những gì bạn cần có chỉ là một ' 'hoặc' '. – BalusC

+0

Cảm ơn rất nhiều. Chỉ cần nhận thấy im trên Majorra 2.1.6 vì vậy Ill cần phải nhanh chóng nâng cấp để có được nó để làm việc? 2.1.14 ổn định chưa? – tarka

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