Struts2 的三种接受参数的方式
2011-04-22 22:16
337 查看
1、通过普通参数的getter and setter方式接受参数。
比如前端页面有:<s:textfield name="title" cssClass="border3" />
在接受参数的Action中就可以声明一个参数private String title;比且生成它的get and set方法来获取页面传递进来的值。
2.直接接受对象的属性值。或者是对象的部分属性值。
@1 在页面就可以这样的写<s:textfield name ="user.name" />
Action那端就直接可以使用:private User user。生成User user 的get and set 方法
直接可以使用user.name 拿到页面传递进来的值。
@2 如果页面还要传递不是User对象的属性值,但是Action中又不想写很多的private XXXXX xxxx;的生命
我们可以通过DTO的形式传递页面的值或者也称作是VO的数据传递对象(英文翻译应该是Data Transfer Object 吧)。
例如:
class User {
String name;
String password;
}
页面时一个注册页面,要验证两次输入的密码是不是一直。还要传递一个validatePassword;
并且你还想用标准的user.name;user.password是无法传递参数的。我们可以写这样一个modle只做数据的传递。称其为:
DTO,取名为UserDTO。
class UserDTO {
String name;
String password;
String validatePassword;
}
在Action中就可以这样的写:
private UserDTO userDTO;生成其get and set 方法。
通过userDTO.name;userDTO.password;userDTO.validatePassword来接收参数。
3.使用领域驱动模式接受对象的值
在页面传递参数的时候依然是使用对象“.”导航形式的发送参数,但是在Action这一端需要如下的实现
class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
通过user.getName();user.getPassword();来接受参数。
}
注意:User是自己new 出来的。ModelDriven是通过getModel() setName()、setPassword();这个方法来接受Model参数的。可以参见Struts2
的源码。
第三种用法:
前端样式:<s:textfield name ="user.name" />
Action 接受参数的时候必须实现ModelDriven<User>这样一个接口,
再实例化一个private User user = new User();
不用生成user 的getter & setter 方法,就直接可以使用 user.getName();可以获得页面面传递进来的user.name这个textfield中的值。
比如前端页面有:<s:textfield name="title" cssClass="border3" />
在接受参数的Action中就可以声明一个参数private String title;比且生成它的get and set方法来获取页面传递进来的值。
2.直接接受对象的属性值。或者是对象的部分属性值。
@1 在页面就可以这样的写<s:textfield name ="user.name" />
Action那端就直接可以使用:private User user。生成User user 的get and set 方法
直接可以使用user.name 拿到页面传递进来的值。
@2 如果页面还要传递不是User对象的属性值,但是Action中又不想写很多的private XXXXX xxxx;的生命
我们可以通过DTO的形式传递页面的值或者也称作是VO的数据传递对象(英文翻译应该是Data Transfer Object 吧)。
例如:
class User {
String name;
String password;
}
页面时一个注册页面,要验证两次输入的密码是不是一直。还要传递一个validatePassword;
并且你还想用标准的user.name;user.password是无法传递参数的。我们可以写这样一个modle只做数据的传递。称其为:
DTO,取名为UserDTO。
class UserDTO {
String name;
String password;
String validatePassword;
}
在Action中就可以这样的写:
private UserDTO userDTO;生成其get and set 方法。
通过userDTO.name;userDTO.password;userDTO.validatePassword来接收参数。
3.使用领域驱动模式接受对象的值
在页面传递参数的时候依然是使用对象“.”导航形式的发送参数,但是在Action这一端需要如下的实现
class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();
通过user.getName();user.getPassword();来接受参数。
}
注意:User是自己new 出来的。ModelDriven是通过getModel() setName()、setPassword();这个方法来接受Model参数的。可以参见Struts2
的源码。
第三种用法:
前端样式:<s:textfield name ="user.name" />
Action 接受参数的时候必须实现ModelDriven<User>这样一个接口,
再实例化一个private User user = new User();
不用生成user 的getter & setter 方法,就直接可以使用 user.getName();可以获得页面面传递进来的user.name这个textfield中的值。
相关文章推荐
- 《struts2接受输入参数的三种方式》
- struts2 ——action接受参数的三种方式总结
- struts2中,接受参数的三种方式
- Struts2 的三种接受参数的方式
- Struts2接受数据的三种方式
- struts2---获取参数的三种方式
- struts2中接受参数的几种方式!!!
- struts2 action获取jsp参数的三种方式
- struts2传递参数的三种方式
- Struts2(四) 接受参数的三种方法
- struts2 action参数接受方式
- Struts2获取参数的三种方式
- Struts2接收前端页面参数的三种方式
- struts2在Action中接收参数的三种方式
- 【Struts2】Action接收参数的三种方式
- struts2传递参数的三种方式
- Struts2接受参数几种方式
- Struts2-Action接受参数方式、method属性使用及通配符的配置
- 【代码总结】Struts2 Action接受参数方式的对比
- struts2 接受参数的两种方式(属性驱动和模型驱动)