属性駆動型
アクションのページのname属性と同じ名前でプライベート化された変数を作成し、メンバー変数のget / setメソッドを提供します(必須ではありません)
public String hello(){
System.out.print(username+"这是属性驱动");
System.out.print(password);
return "success";
}
private String username;
private String password;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
<!-- 属性驱动表单 -->
<form action="Structs.action" method="post">
<input type="text" name="username"><br>
<input type="password" name="password">
<input type="submit" value="提交">
</form>
オブジェクト駆動
- 1.エンティティクラスを作成します:フォームの入力の名前に対応します
- 2.アクションでオブジェクトを作成します(private User user = new user();)
- 3.オブジェクトのget / setメソッドを提供します
- 4.注:フォームのスペース名属性は、オブジェクト.nameに準拠している必要があります
//表单写name前面加一个user.username user.password与对象名相同
private User user =new User();
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public String go ( ) {
System.out.print(this.user.getUsername()+"这是对象驱动"+this.user.getPassword());
return SUCCESS;
}
<!-- 对象驱动表单 -->
<form action="Structs1.action" method="post">
<input type="text" name="user.username"><br>
<input type="password" name="user.password">
<input type="submit" value="提交">
</form>
モデル駆動
- 1. ModelDrivenインターフェースを実装して、対応するジェネリック->取得するオブジェクトを作成する必要があります
- 2.ジェネリックに従って特定のクラスのオブジェクトを決定します
- 3. getModelメソッドを書き直して、オブジェクトを返します
- 注:オブジェクトを指定する必要はありません。フォアグラウンドフォームに入力された名前の属性名
public class ModelAction extends ActionSupport implements ModelDriven<User>{
private User user =new User();
public String drive() {
System.out.println(user.getPassword()+"模型驱动"+user.getUsername());
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
}
<!-- 模型驱动表单 -->
<form action="Structs2.action" method="post">
<input type="text" name="username"><br>
<input type="password" name="password">
<input type="submit" value="提交">
</form>