Tôi đang làm việc với khung web (uPortal) đang xử lý lỗi bằng cách chỉ ném một ngoại lệ và sau đó treo. Khung làm việc bằng cách kết xuất XML thành HTML. Khi có ngoại lệ, trình duyệt sẽ lấy lại nội dung được hiển thị cho đến phần tử mẫu XML không thành công, và sau đó trình duyệt chỉ ngồi và đợi một thời gian chờ. Lý thuyết của nhóm chúng tôi là nội dung được gửi trước khi lỗi xảy ra, điều đó làm tôi ngạc nhiên. Các khung công tác khác mà tôi đã làm việc có vẻ như kết thúc hiển thị trước khi gửi nội dung.Chuyển hướng trang web sau khi đã gửi một số nội dung
Câu hỏi của tôi là, có cách nào để chuyển hướng trình duyệt sau khi nội dung đã được gửi không? Trong trường hợp này, chúng tôi đang ở giữa hiển thị nội dung của thẻ <script>
, nhưng lỗi có thể xảy ra ở bất kỳ nơi nào trong html.
Suy nghĩ hiện tại của tôi là tiêm một số javascript ở đầu trang và cố gắng thay đổi hành vi của khung để thất bại nhanh chóng và đóng kết nối và thêm </body>
và </html>
thẻ khi xảy ra lỗi. Sau đó, javascript được đề cập ở trên sẽ chạy trên pageload và phát hiện nếu nội dung của toàn bộ trang đã có và làm một chuyển hướng phía khách hàng nếu không. Có lẽ nó có thể tìm kiếm một div ẩn đặc biệt ở cuối trang.
Có bất kỳ ví dụ nào về các khuôn khổ giải quyết vấn đề này một cách khác nhau hoặc của những người sử dụng khung làm việc tương tự xung quanh vấn đề này không?
Các khung công tác khác giải quyết vấn đề này như thế nào? Giống như mùa xuân, ví dụ? Không phải chờ đợi cho đến khi các khung nhìn được hiển thị trước khi ghi vào phản hồi? Hay tất cả các khuôn khổ có vấn đề này? – xdhmoore
@xdhmoore vào cuối mùa xuân cũng dựa trên công nghệ servlet, và theo như tôi biết sau chiến lược thứ hai được đề cập trong câu trả lời của tôi. Https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc này có thể được quan tâm, nhưng chủ yếu là về cách gửi đến trang lỗi có ý nghĩa và không phải cách tránh hoặc phục hồi từ một ngoại lệ. – wero
Mùa xuân có cho phép bạn bắt ngoại lệ từ lớp xem/jsp không? Nơi mà tôi bối rối là trong khuôn khổ này, chúng tôi đang nhìn thấy các trang đóng băng tại trường hợp ngoại lệ sau khi tải tất cả các nội dung trước đó.Tôi đã nghĩ rằng các khung công tác khác như mùa xuân đã hiển thị mọi thứ trước khi bắt đầu trả lại nội dung (để họ có thể trả lại trang lỗi trong trường hợp ngoại lệ), nhưng khung này dường như bắt đầu trả lại nội dung trước khi hoàn thành. tùy chọn của bạn 3 ở trên lựa chọn duy nhất ... – xdhmoore