无人机中的城堡 2017-10-15
这一章我们一样来获取数据,看看与上一章有什么不同吧。数据封装也有三种方式。下面我们来一一介绍。
第一种:属性封装。
类就用LoginAction吧。里面有两属性,name,pwd.给这两个属性写上getter和setter.
页面就是用上章的login.jsp,只需将提交地址改了,struts.xml配置配好,就能获取到数据了。关于配置已经在前两章前有介绍,就不多介绍了
那么第二种:模型驱动:action类实现ModelDriven接口,实现ModelDriven接口的getModel方法。
私有化一个对象,getModel方法中返回这个对象。
最后一种 :表达式封装
01在Action类中声明实体类(注意只是声明),
02:生成实体类对象名的set和get的方法,
03:修改表单那么属性值:
name="实体对象名.属性名"(users.username)
三种方式之后还有两种封装方式,封装到List及Map集合。
1.List集合
页面:
Action:
Map集合:
页面:
Action:
其中要注意:在一个action中不能给对同一个表单使用属性封装和模型封装,如果使用只会执行模型驱动封装.
表达式封装和模型封装的相同点以及不同点:
相同点:
都可以把数据封装到实体类中
不同点:
模型封装只能够把数据封装到一个实体类中,在一个action里面只能实现一次ModelDriven的接口所以模型封装只会封装一个到一个实体类中
表达式封装可以吧数据封装到多个对象中
数据封装就上面这些,理论我就没过多介绍了。