Basado en atributos
Cree una variable privatizada con el mismo nombre que el atributo de nombre en la página en Acción y proporcione métodos de obtención / configuración para las variables de miembro (no es obligatorio)
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>
Impulsado por objetos
- 1. Cree una clase de entidad: correspondiente al nombre de la entrada en el formulario
- 2. Cree un objeto en la acción (usuario privado usuario = nuevo usuario ();)
- 3. Proporcione el método get / set del objeto.
- 4. Nota: El atributo de nombre de espacio en el formulario debe ajustarse al objeto .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>
Modelo impulsado
- 1. Necesidad de implementar la interfaz ModelDriven para formular el genérico correspondiente -> el objeto a obtener
- 2. Determinar el objeto de una determinada clase según el genérico
- 3. Reescribe el método getModel y devuelve el objeto.
- Nota: No es necesario especificar el objeto. Nombre de atributo en la entrada de nombre en el formulario de primer plano
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>