custom interceptor trong struts 2

4 93 1
custom interceptor trong struts 2

Đang tải... (xem toàn văn)

Thông tin tài liệu

http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com Custom Interceptor Struts Trong Struts 2, bạn tạo Interceptor riêng cho cách triển khai Interceptor Interface lớp ghi đè phương thức vòng đời Để tạo Custom Interceptor, Interceptor Interface phải triển khai Nó có phương thức là: public void init(): Được triệu hồi lần sử dụng để khởi tạo Interceptor public void intercept(ActionInvocation ai): Được triệu hồi với request, sử dụng để định nghĩa trình logic tiến trình xử lý Nếu trả chuỗi, result page triệu hồi Nếu trả phương thức invoke() ActionInvocation Interface, Interceptor action triệu hồi public void destroy(): Được triệu hồi lần sử dụng để hủy Interceptor Ghi chú: Interceptor thay đổi flow ứng dụng trả chuỗi Ví dụ để tạo Custom Interceptor Struts Trong ví dụ này, tạo Custom Interceptor mà chuyển đổi yêu cầu xử lý liệu thành chữ hoa Bạn theo hai bước để tạo Custom Interceptor: Bước 1: Tạo Interceptor (phải triển khai Interceptor Interface) Chúng ta chuyển đổi thuộc tính name lớp action thành chữ hoa MyInterceptor.java package com; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; import com.opensymphony.xwork2.util.ValueStack; public class MyInterceptor implements Interceptor{ public void init() {} public String intercept(ActionInvocation ai) throws Exception { ValueStack stack=ai.getStack(); http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com String s=stack.findString("name"); stack.set("name",s.toUpperCase()); return ai.invoke(); } public void destroy() {} } Trong phần code trên, phương thức getStack() ActionInvocation trả tham chiếu ValueStack Chúng ta lấy giá trị thiết lập thuộc tính name phương thứcfindString ValueStack Phương thức set ValueStack thiết lập thuộc tính name với giá trị cho Trong trường hợp này, chuyển đổi giá trị thuộc tính name thành chữ hoa lưu trữ vào ValueStack Phương thức invoke ActionInvocation trả thông tin resource Bước 2: Định nghĩa entry Interceptor struts.xml file Để định nghĩa Interceptor, cần khai báo Interceptor Phần tử interceptors package sử dụng để xác định interceptor Phần tử interceptor interceptors sử dụng để định nghĩa Custom Interceptor riêng bạn Phần tử interceptor-ref action xác định Interceptor mà áp dụng cho action Tại đây, xác định interceptor defaultStack upper struts.xml http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com welcome.jsp Một số resource cần thiết khác Chúng ta cần số resource khác index.jsp, Login.java, welcome.jsp, sau: Tạo form để nhận input (index.jsp) JSP page tạo form sử dụng struts-tags Nó nhận name từ người dùng index.jsp Tạo lớp action : Lớp action đơn giản chứa thuộc tính name phương thức setter getter Login.java package com; public class Login { private String name; public String getName() { return name; } http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/struts_2/index.jsp Copyright © vietjack.com public void setName(String name) { this.name = name; } public String execute(){ return "success"; } } Tạo thành phần view JSP page hiển thị name nhập người dùng welcome.jsp Welcome, http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... Foundation//DTD Struts Configuration 2. 1//EN" "http:/ /struts. apache.org/dtds /struts- 2. 1.dtd"> < /interceptor> ... file Để định nghĩa Interceptor, cần khai báo Interceptor Phần tử interceptors package sử dụng để xác định interceptor Phần tử interceptor interceptors sử dụng để định nghĩa Custom Interceptor riêng... Phần tử interceptor- ref action xác định Interceptor mà áp dụng cho action Tại đây, xác định interceptor defaultStack upper struts. xml

Ngày đăng: 02/12/2017, 21:02

Mục lục

    Custom Interceptor trong Struts 2

    Ví dụ để tạo Custom Interceptor trong Struts 2

    Bước 1: Tạo một Interceptor (phải triển khai Interceptor Interface)

    Một số resource cần thiết khác

    Tạo thành phần view

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan