Struts2中表单与Action传递数据三种方式

Posted 左正

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2中表单与Action传递数据三种方式相关的知识,希望对你有一定的参考价值。

1.       Action中的属性与表单中的属性一致就可以

JSP中的表单

<form action="login.action" method="post">

    用户名:<input type="text" name="username"/>    <br/>

    密码:  <input type="password" name="password" /> <br/>

    <input type="submit" value="登陆" />

</form>

 

Action中的属性                                                        

public class LoginAction extends ActionSupport {

    private String username;

    private String password;

   

    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 String execute(){

       ifusername.equalsIgnoreCase("aaa")&&password.equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

}

2.       使用一个VO类

在表单中提交的属性名改为user.username

<form action="login.action" method="post">

       用户名:<input type="text" name="user.username"/>  <br/>

       密码:  <input type="password" name="user.password" /> <br/>

       <input type="submit" value="登陆" />

    </form>

LoginAction中的属性改为user

public class LoginAction extends ActionSupport{

    private User user;

   

    public User getUser() {

       return user;

    }

    public void setUser(User user) {

       this.user = user;

    }

 

    public String execute(){

       ifuser.getUsername().equalsIgnoreCase("aaa")&&user.getPassword().equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

}

 

 

3.       使用Struts2中的ModelDriven数据模式

Action类要实现一个泛型接口,前台表单与1相同

public class LoginAction extends ActionSupport implements ModelDriven<User> {

    private User user = new User();

   

    public String execute(){

       ifuser.getUsername().equalsIgnoreCase("aaa")&&user.getPassword().equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

 

    public User getModel() {

       return user;

    }

}

以上是关于Struts2中表单与Action传递数据三种方式的主要内容,如果未能解决你的问题,请参考以下文章

struts2 action 页面与action参数的传递的三种方式

Struts2中jsp前台传值到action后台的三种方式以及valueStack的使用

struts2入门之action获取表单提交数据

Struts2---将页面表单中的数据提交给Action

struts请求参数注入的三种方式

5.struts2中Action类中获取ServletAPI的三种方式