初学者易上手的SSH-struts2 03数据封装

这一章我们一样来获取数据,看看与上一章有什么不同吧。数据封装也有三种方式。下面我们来一一介绍。

第一种:属性封装。

类就用LoginAction吧。里面有两属性,name,pwd.给这两个属性写上getter和setter.

初学者易上手的SSH-struts2 03数据封装

页面就是用上章的login.jsp,只需将提交地址改了,struts.xml配置配好,就能获取到数据了。关于配置已经在前两章前有介绍,就不多介绍了

那么第二种:模型驱动:action类实现ModelDriven接口,实现ModelDriven接口的getModel方法。

私有化一个对象,getModel方法中返回这个对象。

初学者易上手的SSH-struts2 03数据封装

最后一种 :表达式封装

01在Action类中声明实体类(注意只是声明),

02:生成实体类对象名的set和get的方法,

03:修改表单那么属性值:
name="实体对象名.属性名"(users.username)

初学者易上手的SSH-struts2 03数据封装初学者易上手的SSH-struts2 03数据封装

三种方式之后还有两种封装方式,封装到List及Map集合。

1.List集合

页面:

初学者易上手的SSH-struts2 03数据封装

Action:

初学者易上手的SSH-struts2 03数据封装

Map集合:
页面:

初学者易上手的SSH-struts2 03数据封装

Action:

初学者易上手的SSH-struts2 03数据封装

其中要注意:在一个action中不能给对同一个表单使用属性封装和模型封装,如果使用只会执行模型驱动封装.

表达式封装和模型封装的相同点以及不同点:

相同点:
都可以把数据封装到实体类中

不同点:
模型封装只能够把数据封装到一个实体类中,在一个action里面只能实现一次ModelDriven的接口所以模型封装只会封装一个到一个实体类中

表达式封装可以吧数据封装到多个对象中

数据封装就上面这些,理论我就没过多介绍了。

相关推荐