Cấu hình bởi convention trong Struts 2



Struts cung cấp hai mẫu cấu hình. Cách truyền thống là sử dụng struts.xml file cho tất cả cấu hình, và bạn đã thấy trong khá nhiều ví dụ trước. Cách khác là Zero Configuration mà không sử dụng struts.xml. Có hai cách để đạt được Zero Configuration, đó là bởi Convention hoặc bởi Annotation.

Các bước để tạo Zero Configuration bởi sử dụng Convention như sau:

  • Tạo input page (tùy ý)

  • Tạo lớp action

  • Tạo các thành phần view

Ví dụ để tạo Zero Configuration file bởi sử dụng convention trong Struts 2

Trong ví dụ này, chúng ta tạo 4 page, đó là:

1. Tạo index.jsp (tùy ý): JSP page này tạo một form bởi sử dụng UI tags. Nó nhận tên và mật khẩu từ người dùng.

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





2. Tạo lớp Action: Tên lớp action phải được đặt theo tên request và theo sau bởi hậu tố action hoặc nó phải triển khai Action Interface (hoặc kế thừa ActionSupport). Giả sử tên request là login, thì tên lớp action nên là LoginAction nếu bạn không muốn triển khai Action Interface. Lớp action phải được đặt trong action hoặc actions hoặc struts hoặc struts 2 package.

LoginAction.java

package action;
public class LoginAction {
private String name,password;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}public String getPassword() {
	return password;
}
public void setPassword(String password) {
	this.password = password;
}
public String execute(){
	if(password.equals("struts")){
		return "success";
	}
	else
		return "error";
}
}

3. Tạo các thành phần view: Các thành phần view phải được đặt bên trong WEB-INF/content folder. Các thành phần view nên được đặt tên dạng: tên request-chuỗi được trả về bởi lớp action. Giả sử tên request là login và chuỗi được trả về là SUCCESS và ERROR thì tên file phải là login-success.jsp và login-error.jsp.

login-success.jsp

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

login-error.jsp

Xin loi, xay ra loi voi username hoac password ban nhap vao!!

Các bài học Struts 2 phổ biến khác tại VietJack: