Trong những ngày đầu sử dụng CDI, tôi đang điều hướng đến một trang có hoạt động dài hoạt động bằng cách sử dụng chuyển hướng khuôn mặt = true, vì vậy tôi có URL giống như ..myPage.xhtml? Cid = 1.CDI/Weld - cách xử lý làm mới trang trình duyệt sau khi kết thúc cuộc trò chuyện?
Tại một thời điểm nào đó, tôi kết thúc cuộc trò chuyện, ý tôi là điều hợp lý để làm hoặc bạn cũng có thể sử dụng phạm vi phiên? Dù sao, tôi kết thúc cuộc trò chuyện và sau đó người dùng truy cập F5, và sau đó tất nhiên điều này gây ra lỗi 'không tìm thấy cuộc trò chuyện' vì cid = 1 không tồn tại.
Có ai có thể đề xuất cách giải quyết vấn đề này không? Tôi đang sử dụng triển khai thực hiện ViewScoped của Steven Verborgh và chỉ cần sử dụng một cuộc trò chuyện có phạm vi đậu để chuyển các tham số giữa các trang. Vì vậy, tôi có ví dụ 2 @ViewScoped đậu mỗi trong số đó trở lại trang 1 & 2. Tôi @Inject @ConversationScoped ParameterBean vào cả hai phạm vi xem đậu. Tôi bắt đầu cuộc hội thoại (parameterBean.getConversation(). Begin()) trong phương thức hành động được gọi là từ trang 1. Trong sự kiện preRenderView cho trang 2, tôi tham chiếu đến các thuộc tính của tham sốBean vào trang hỗ trợ 2 biến mẫu và kết thúc cuộc trò chuyện, nó đã hoàn thành công việc và không còn cần thiết nữa.
Ngoại trừ vấn đề F5, nó hoạt động tốt. Nếu bất cứ ai có bất cứ đề nghị tôi muốn đánh giá cao nó, hy vọng tôi không thiếu một cái gì đó thực sự rõ ràng. Tôi giả sử không nhận được từ chuyển hướng.
Cảm ơn.