Tích hợp Struts 2 với Spring



Spring Framework cung cấp cho bạn một cách dễ dàng để quản lý sự phụ thuộc. Nó có thể dễ dàng được tích hợp với Struts Framework. Lớp ContextLoaderListener được sử dụng để giao tiếp ứng dụng Spring với Struts 2. Nó phải được xác định trong web.xml file.

Bạn cần theo các bước sau:

  • Tạo ứng dụng Struts 2 và thêm spring jar file.

  • Trong web.xml file, định nghĩa lớp ContextLoaderListener.

  • Trong struts.xml file, định nghĩa bean name cho lớp action.

  • Trong applicationContext.xml file, tạo bean. Tên lớp của nó nên là tên lớp action và id nên kết nối với tên lớp action của struts.xml file.

  • Trong lớp action, định nghĩa thuộc tính phụ, ví dụ message.

Ví dụ tích hợp Spring và Struts 2

Bạn cần tạo các file sau cho ứng dụng Spring và Struts 2 đơn giản:

1. Tạo index.jsp

JSP page này lấy tên từ người dùng.

<%@ taglib uri="/struts-tags" prefix="s"%>



2. Tạo web.xml

Nó định nghĩa lớp Controller cho Struts 2 và lớp ContextLoaderListener để tạo kết nối giữa ứng dụng Struts 2 và Spring.



  
    index.jsp
  
  
  	struts2
  	
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	
  
  
 
org.springframework.web.context.ContextLoaderListener 
 
  
  
  	struts2
  	/*
  
  
  

3. Tạo struts.xml

Nó định nghĩa package với action và result. Ở đây tên lớp action là login mà sẽ được tìm kiếm trong applicationContext.xml file.





 

4. Tạo applicationContext.xml

Nó định nghĩa một bean với id login. Bean này tương ứng với lớp mypack.login. Tại đây, nó được xem như là lớp action. Nó nên được đặt bên trong thư mục WEB-INF.





5. Tạo Login.java

Nó định nghĩa hai thuộc tính userName và message với phương thức execute, tại đây success được trả về.

package mypack;
public class Login {
private String userName,message;public String getMessage() {
	return message;
}
public void setMessage(String message) {
	this.message = message;
}
public String getUserName() {
	return userName;
}
public void setUserName(String userName) {
	this.userName = userName;
}
public String execute(){
	return "success";
}
}

6. Tạo welcome.jsp

Nó in các giá trị của các thuộc tính userName và message.

<%@ taglib uri="/struts-tags" prefix="s"%>Welcome, 

6. Tạo error.jsp

Đây là error page. Nhưng nó không cần thiết trong ví dụ này bởi vì chúng ta đã không định nghĩa bất cứ trình logic nào trong phương thức execute của lớp action.

Sorry!