初学者易上手的SSH-struts2 03数据封装
这一章我们一样来获取数据,看看与上一章有什么不同吧。数据封装也有三种方式。下面我们来一一介绍。
第一种:属性封装。
类就用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的接口所以模型封装只会封装一个到一个实体类中
表达式封装可以吧数据封装到多个对象中
数据封装就上面这些,理论我就没过多介绍了。
初学者易上手的SSH-struts2 03数据封装的更多相关文章
- 初学者易上手的SSH-struts2 01环境搭建
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...
- 初学者易上手的SSH-struts2 05拦截器与自定义拦截器
因为自己对于struts2也不是很了解,这章将是struts2的最后一章了.那么这一章主要介绍的是拦截器以及怎么样来自定义一个拦截器. struts2的拦截器位于struts2-core(核心包)-& ...
- 初学者易上手的SSH-整合
许久没更新博客了! spring还有一章aop(面向切面),我就没讲述了,你们可以去看下代理模式. 那么我们开始整合:struts2 2.3.4 ,hibernate 5.2.10 ,spring ...
- 初学者易上手的SSH-struts2 02Action获取表单数据-通配符
在上一章中,我们已经搭建好了struts2的一个开发环境,那么这一章就来做一个简单的登录功能,以及介绍和使用struts2里面一个重要的东西-通配符. 第一步,在WebContent下面新建一个log ...
- 初学者易上手的SSH-struts2 04值栈与ognl表达式
什么是值栈?struts2里面本身提供的一种存储机制,类似于域对象,值栈,可以存值和取值.,特点:先进后出.如果将它当做一个容器的话,而这个容器有两个元素,那么最上面的元素叫做栈顶元素,也就是所说的压 ...
- 初学者易上手的SSH-hibernate01环境搭建
这里我们继续学习SSH框架中的另一框架-hibernate.那么hibernate是什么?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序 ...
- 初学者易上手的SSH-hibernate02 三种查询方式
在上一章中已经搭建好了一个hibernate的环境,那么这一章我们就使用这个环境来进行基本CRUD.在这之前我们先了解一个东西:主键生成策略.就是当向数据库表中插入记录的时候,这个记录的主键该如何生成 ...
- 2017年11月1日 初学者易上手的SSH-spring 01控制反转(IOC)
这章开始学习SSH中最后的一个框架spring.Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 首先就来学习一下I ...
- 初学者易上手的SSH-spring 01控制反转(IOC)
这章开始学习SSH中最后的一个框架spring.Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用. 首先就来学习一下I ...
随机推荐
- swust oj 1069
图的按录入顺序广度优先搜索 5000(ms) 10000(kb) 2347 / 4868 Tags: 广度优先 图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结 点,然后访问该结点的 ...
- Python学习之旅(二十七)
Python基础知识(26):常用内建模块(Ⅱ) 1.hashlib Python的hashlib提供了常见的摘要算法,如MD5,SHA1等 摘要算法又称哈希算法.散列算法. (1)它通过一个函数,把 ...
- python学习之旅(四)
Python基础知识(3):基本数据类型之数字 一.基本数据类型 数字Number.字符串String.列表List.元组Tuple.集合Set.字典Dictionary 二.数字 Python3支持 ...
- nessus无法访问https://localhost:8834/#/,解决方法。
之前没弄明白为啥经常访问不了https://localhost:8834/#/,后面才发现是服务关闭了. 首先netstat -an 查看8834是否开启, 直接运行一下nessus目录下的nessu ...
- 《PHP - CGI/Fastcgi/PHP-FPM》
先说下我最近看到的一篇文章,哈哈哈,特别好玩. 一步步教你编写不可维护的 PHP 代码 之前一直知道 PHP 在 CGI 模式下运行.命令行下在 CLI 模式下运行. 但是 FPM 和 nginx 配 ...
- spark-sql集合的“条件过滤”,“合并”,“动态类型映射DataFrame”,“存储”
List<String> basicList = new ArrayList<String>(); basicList.add("{\"name\" ...
- Python返回多个值
def get_abc(): a = 1 b = 2 c = 3 return a,b,c temp = get_abc() #temp = (1,2,3) a,b,c = get_abc() #a ...
- data日期转化
eg: var time="2018-05-19T08:04:52.000+0000"; var d = new Date(time); var times=d.getF ...
- nginx rewrite 指令
ginx通过ngx_http_rewrite_module模块支持url重写.支持if条件判断,但不支持else. 该模块需要PCRE支持,应在编译nginx时指定PCRE源码目录, nginx安装方 ...
- 安装archlinux的linux命令记录
磁盘的分区:cfdisk 格式化分区:mkfs.ext4,mkswap,swapon 查看所有分区:lsblk /dev/sda 先挂载 / 分区:mount /dev/sda1 /mnt archl ...