struts 2モデル駆動について
2350 ワード
モデル駆動に対応するのは属性駆動で、名前はすごいですが、実はよく理解しています.プロパティドライバとは、Actionでフォームに対応するプロパティを定義し、プロパティのget/setメソッドを定義します.モデル駆動は,フォームから渡されたデータを1つのオブジェクトにカプセル化してActionに渡すモデル,すなわちModelを事前に定義しておき,これはStruts 1のこのメカニズムとよく似ている.では、この2つの方法は、どちらがいいのでしょうか.まだ実践しなければならない検証があります...
ここでは、ログインの例を使用してモデルドライバを分析します.プロパティドライバは分析されません.
1、まずModel、すなわちUserクラスを創立する:
2、LoginActionクラスを確立し、ActionSupportから継承し、ModelDrivenインタフェースを実現する.このインタフェースはgetModel()メソッドを定義し、定義したModelを返し、setメソッドを呼び出して値を割り当てる.
Struts 2では、Actionがservletの役割、すなわちControllerの役割を果たす.特定のビジネスロジックは、他のBeanを呼び出して実装します.
ここでは、ログインの例を使用してモデルドライバを分析します.プロパティドライバは分析されません.
1、まずModel、すなわちUserクラスを創立する:
package com.suo.beans;
import java.util.Date;
public class User
{
private String username;
private String password;
private EMail email;// EMail ,
private Date birthday;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public EMail getEmail() {
return email;
}
public void setEmail(EMail email) {
this.email = email;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
2、LoginActionクラスを確立し、ActionSupportから継承し、ModelDrivenインタフェースを実現する.このインタフェースはgetModel()メソッドを定義し、定義したModelを返し、setメソッドを呼び出して値を割り当てる.
package com.suo.actions;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.suo.beans.User;
import com.suo.services.LoginService;
import com.suo.services.LoginServiceImpl;
public class LoginAction3 extends ActionSupport implements ModelDriven<User> {
private User user=new User();//
private LoginService loginService=new LoginServiceImpl();//
@Override
public User getModel() {
// TODO Auto-generated method stub
return user;
}
public String execute()
{
System.out.println(user.getUsername());
System.out.println(user.getPassword());
if(loginService.isLogin(user.getUsername(), user.getPassword()))
{
return SUCCESS;
}
return INPUT;
}
}
Struts 2では、Actionがservletの役割、すなわちControllerの役割を果たす.特定のビジネスロジックは、他のBeanを呼び出して実装します.