Struts2数据封装机制

一,属性驱动的数据封装

示例代码:

{// 属性直接放在action类中,并且每一个属性都得写get和set方法private String name;private String passwd;String execute() {System.out.println(name);System.out.println(passwd);return SUCCESS;}public String getName() {return name;}(String name) {this.name = name;}public String getPasswd() {return passwd;}(String passwd) {this.passwd = passwd;}}

要使用上面的action我们可以使用下面的form表单来提交:

====”submit”>提交</button></form>

我们发现这种方法在属性较少的情况下可取,如果属性很多,代码会很乱,所以有了下面的模型驱动

二,模型驱动(1),不使用struts2标签的模型驱动<User u = new User();User getModel() {return u;}String execute() throws Exception {System.out.println(u.getName());System.out.println(u.getPasswd());return “success”;}}

使用这种action的form表单和属性驱动的一模一样

(2)使用struts2标签的模型驱动

示例代码:

{User user;public String execute() {try {System.out.println(user.getName());System.out.println(user.getPasswd());} catch (NullPointerException e) {return ERROR;}return SUCCESS;}public User getUser() {return user;}(User user) {this.user = user;}}

为什么说是标签驱动的呢?看下面的form表单:

====”submit”>提交</button></form>

还可以使用struts2的标签:

====>

这就是struts2的3种数据封装机制,核心的机制是java反射,这个是如何实现的,将在以后的博文中讨论

,累死累活不说,走马观花反而少了真实体验,

Struts2数据封装机制

相关文章:

你感兴趣的文章:

标签云: