Xin chào tất cả tôi đã có một số trang jsp và sử dụng struts2 để xử lý biểu mẫu của tôi. Sau khi gửi biểu mẫu theo người dùng, url được hiển thị trong thanh địa chỉ trở thành somthing.action, vì vậy khi người dùng làm mới trang, các biểu mẫu sẽ được gửi lại. Làm thế nào tôi có thể xử lý này? sau khi gửi biểu mẫu.Tránh trình trùng lặp của trang Struts 2 jsp
Trả lời
Nếu mục tiêu là để ngăn chặn việc gửi trùng lặp biểu mẫu, hãy sử dụng token
thiết bị chặn http://struts.apache.org/2.x/docs/token-interceptor.html hoặc tokenSession
thiết bị chặn http://struts.apache.org/2.x/docs/token-session-interceptor.html.
Nếu bạn đơn giản muốn làm mới trang sau khi gửi mà không gửi lại, hãy chuyển hướng đến hành động mà bạn chỉ hiển thị kết quả không dưới dạng. Sử dụng kết quả redirectAction
cho điều đó.
POST REDIRECT GET
mô hình này cần phải được theo sau để ngăn ngừa tái nộp mẫu đơn trên refresh. Điều này có nghĩa là, sau khi gửi yêu cầu POST
, POST
phải gửi phản hồi REDIRECT
để tìm nạp trang đích bằng cách sử dụng GET
. Với mẫu này, nếu người dùng làm mới trang, chỉ yêu cầu GET xảy ra lần nữa, vì vậy cùng một trang được tìm nạp mà không cập nhật bất kỳ thứ gì trong máy chủ.
Đây là mẫu thiết kế chung được đề xuất cho web. Google sẽ cung cấp nhiều tài nguyên về điều này.
+1 cho cả hai câu trả lời khác.
Post/Redirect/Get là Mẫu cổ điển cho mọi công nghệ web.
Token Interceptor là một cách khác để thực hiện khi bạn đang sử dụng Struts2;
Có một cách thứ ba để thực hiện, nếu bạn không quan tâm đến tính tương thích với các trình duyệt cũ hoặc các trình duyệt đã tắt Javascript: HTML5 's window.history.pushState
.
Chỉ cần đặt lại url thành trang gốc sau khi trang được tải và nhấn F5 sẽ nhận được trang gốc thay vì gửi lại yêu cầu.
$(document).ready(function() {
window.history.pushState("","", "myOriginalUrlWithNoParams");
});
+1 cho HTML5 trick. –
- 1. Tránh nội dung trùng lặp cho trang phản hồi
- 2. Tránh mã trùng lặp (PHP)
- 3. Lặp lại trên hashmap trong JSP trong ứng dụng struts
- 4. luận Tránh trùng lặp qua (...)
- 5. Cách nhận url hành động trong jsp bằng Struts 2
- 6. Liferay with Struts, JSP
- 7. mô hình Django tránh trùng lặp
- 8. Làm cách nào để tránh tiêu đề trùng lặp nội dung trùng lặp với MVC3 FileContentResult?
- 9. Mongodb tránh các mục trùng lặp
- 10. Struts 2 nesting iterators
- 11. Đếm trùng lặp giữa 2 danh sách
- 12. Struts 2 s: id động thẻ chọn
- 13. Vấn đề về cấu hình của Trình chặn tải lên tệp Struts 2
- 14. jsp: thẻ chuyển tiếp chuyển tiếp đến hành động Struts 2
- 15. Struts 2 biến động
- 16. Phiên trong Struts 2
- 17. Tránh trùng lặp mã trong một mẫu chuyên
- 18. Tránh trùng lặp khi các điểm gây nhiễu
- 19. Tránh đăng ký sự kiện trùng lặp trong C#
- 20. Khuôn khổ thực thể: Tránh chèn trùng lặp
- 21. Lớp trừu tượng, cách tránh trùng lặp mã?
- 22. Tránh các mục trùng lặp trên mảng Mongoose
- 23. Tránh các thư trùng lặp trên JMS/ActiveMQ
- 24. Java: Tránh chèn trùng lặp trong mảng danh sách
- 25. Lợi ích của Struts
- 26. Kiểm tra các phím trùng lặp với Doctrine 2
- 27. log4j và weblogic: thông báo tường trình trùng lặp
- 28. Trình phát hiện mã trùng lặp Javascript?
- 29. Xác nhận Ajax Struts 2 với jsonValidationWorkflowStack và Model Driven
- 30. Cách tránh các khai báo trùng lặp của Q_DECLARE_METATYPE <aCommonType>
Cảm ơn bạn Aleksandr M .... – edaklij