http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com Interceptors Struts Interceptor đối tượng mà triệu hồi thời điểm preprocess postprocess request Trong Struts 2, Interceptor sử dụng để thực hoạt động validation, exception handling, hiển thị kết trung gian, … Lợi Interceptor Pluggable: bạn cần xóa trình logic validation, exception handling, … từ ứng dụng, bạn không cần tái triển khai ứng dụng Chúng ta cần xóa entry từ struts.xml file Các Interceptor mặc định Struts Struts Framework cung cấp nhiều Interceptor Bạn có tùy chọn để tạo Interceptor riêng cho Dưới Interceptor mặc định Struts 2: 1, alias: Nó chuyển đổi tham số tương tự mà có tên khác request 2, chain: Nếu sử dụng với result type chain, làm cho thuộc tính action trước có sẵn cho action 3, checkbox: Nó sử dụng để xử lý checkbox form Bằng này, bạn kiểm tra unchecked checkbox 4, cookie: Nó thêm cookie tới action 5, conversionError: Nó thêm lỗi chuyển đổi (conversion error) tới trường error action 6, createSession: Tạo đối tượng HttpSession chưa tồn 7) clearSession: Nó xóa liên kết với đối tượng HttpSession 8) debugging: Cung cấp hỗ trợ debug tới lập trình viên 9) execAndWait: Gửi page trung gian action thực thi background 10) exception: Ánh xạ exception mà ném từ action tới result 11) fileUpload: Cung cấp hỗ trợ tới file upload struts 12) i18n: Cung cấp hỗ trợ tới việc theo dõi locale chon suốt phiên người dùng http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com 13) jsonValidation: Cung cấp hỗ trợ tới trình validation khơng đồng 14) logger: Cho kết action name action thực thi 15) store: lưu trữ thu nhận action message, action error trường lỗi cho action mà triển khai ValidationAware Interface 16) modelDriven: Làm đối tượng Model khác thành đối tượng mặc định valuestack 17) scopedModelDriven: Tương tự ModelDriven làm việc cho action mà triển khai ScopedModelDriven 18) params: Thiết lập tham số request action 19) prepare: Thực công việc tiền xử lý, thiết lập kết nối tới Database, cho action triển khai Preparable interface 20) profiling: Hỗ trợ profiling để log cho action 21) roles: Hỗ trợ role-based action 22) scope: Lưu trữ thu nhận trạng thái action phạm vi session phạm vi ứng dụng 23) servletConfig: Cung cấp truy cập tới ánh xạ mà biểu diễn HttpServletRequest HttpServletResponse 24) staticParams: Ánh xạ thuộc tính static tới thuộc tính action 25) timer: Thời gian cần thiết để thực thi action 26) token: Ngăn cản đệ trình request 27) tokenSession: Ngăn cản đệ trình request 28) validation: Cung cấp hỗ trợ trình validate cho input 29) workflow: Gọi phương thức validate action lớp action triển khai Validateable interface http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com Để có danh sách đầy để Interceptor xây dựng sẵn, bạn tham khảo Struts Documentation Phần trình bày cho bạn cách sử dụng Interceptor ứng dụng Struts nói chung Cách sử dụng Interceptor Struts Trong ví dụ này, tìm hiểu cách sử dụng Interceptor có timer ví dụ Hello World Mục đích sử dụng timer để tính tốn thời gian cần thiết để thực thi action Mình sử dụng params Interceptor để gửi tham số request tới action Bạn thử ví dụ mà khơng sử dụng params bạn thấy thuộc tínhname khơng thiết lập tham số khơng thể tiếp cận tới action Chúng ta giữ HelloWorldAction.java, web.xml, HelloWorld.jsp index.jsp tạo chương Ví dụ File cần sửa đổi struts.xml để thêm Interceptor, sau: /HelloWorld.jsp Bạn thử chạy ứng dụng kiểm tra kết http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... "http:/ /struts. apache.org/dtds /struts- 2. 0.dtd">