Struts2接收前端页面参数的三种方式
程序员文章站
2022-05-08 16:05:25
...
1、通过Action的属性接收参数
为action属性添加get、set方法,前端页面的input控件的name属性值与action的属性名相对应,action即可获取参数
(1)Action:
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String name;
private String password;
public String login() {
System.out.println("name=" + name);
System.out.println("password=" + password);
return SUCCESS;
}
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;
}
}
(2)前端form表单:<form action="login.action" method="post">
账号: <input type="text" name="name">
密码: <input type="password" name="password">
<input type="submit" value="登录">
</form>
2、通过Domain Model接收参数
建立一个对象User并添加相应的属性name、password,在Action中新建一个对象user并添加get、set方法,前端页面的input控件的name属性值与user的属性名相对应,action即可获取参数
(1)User对象:
public class User {
private String name;
private String 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;
}
}
(2)Action:
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private User user;
public String login() {
System.out.println("name=" + user.getName());
System.out.println("password=" + user.getPassword());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
(3)前端form表单:
<form action="login.action" method="post">
账号: <input type="text" name="user.name">
密码: <input type="password" name="user.password">
<input type="submit" value="登录">
</form>
3、通过ModelDriven接收参数
Action实现ModelDriven接口,重写getModel()方法,此时User对象需要通过new实例化,前端页面的input控件的name属性值只需与user的属性名相对应(不需要再添加user.*),action即可获取参数
(1)User对象:与第2种方法中的一样
(2)Action:
public class LoginAction extends ActionSupport implements ModelDriven<User> {
private static final long serialVersionUID = 1L;
private User user = new User();
public String login() {
System.out.println("name=" + user.getName());
System.out.println("password=" + user.getPassword());
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
}
(3)前端form表单:与第1种方法中的一样
4、当然前端form表单传递参数到后台,还可以通过servlet的request获取,这里就不做描述了。Action获取requset的方法请查看 Struts2获取Servlet API的三种方法。
上一篇: php中autoload的实现例子介绍
下一篇: 24岁零基础转行程序员?