Tôi có một servlet mà thực hiện một số kiểm tra lỗi và nếu có điều gì là sai, tôi sẽ thường làm điều này: cách đơn giản nhất để hiển thị httpServletResponse.sendError là gì (403, "Thông điệp của tôi") trạng thái từ JSTL
response.sendError(403, "My message")
return;
I không muốn ném ngoại lệ từ servlet - bởi vì tôi muốn tuân thủ các mã trạng thái HTTP.
Trong web.xml Tôi đã cấu hình như sau:
<error-page>
<error-code>403</error-code>
<location>/failure.jsp</location>
</error-page>
Trong failure.jsp Tôi đã tuyên bố sử dụng JSTL và tôi muốn để có được các thông báo lỗi hiển thị. Tôi biết rằng tôi có thể làm như sau trong tập lệnh:
<%= request.getAttribute("javax.servlet.error.message") %>
Nhưng tôi muốn sử dụng JSTL với mệnh đề c: if vì vậy nếu tôi có thể sử dụng tập lệnh, điều này sẽ được đánh giá cao.
Làm cách nào tôi có thể dễ dàng tìm nạp các giá trị từ câu lệnh sendError trong servlet trong trang lỗi bằng cách sử dụng JSTL?
Điều này sẽ không hoạt động. Trang JSP không bắt bất kỳ ngoại lệ nào - nó được cấu hình như một trang lỗi trong web.xml. Trong trường hợp này ngoại lệ là một thuộc tính trong yêu cầu, nhưng khóa là khá khó xử và tôi không chắc chắn làm thế nào để tham chiếu nó từ JSTL. – tronda