网站大量收购闲置独家精品文档,联系QQ:2885784924

 第3章类型转换.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 类型转换 前面的一章实现的基本的用户登录验证,对Struts 2的配置以及如何构建Struts 2有了一定的了解。本章将介绍Struts 2的又一强大功能,类型转换。Struts 2提供了大量的已经实现的转换器,开发者也可以自行设计各种类型的转换器来进行类型转换。而转换器有分为全局转换器和局部转换器。本章将通过大量实例对这些概念进行讲解。 3.1 类型转换的介绍 3.1.1 类型转换的意义 3.1.2 简单的类型转换示例 3.1.1 类型转换的意义 Web应用程序的交互都是建立在HTTP之上的,互相传递的都是字符串。也就是说服务器接收到的来自用户的数据只能是字符串或者是字符数组,而在Web应用的对象中,往往使用了多种不同的类型,如整数(int)、浮点数(float)、日期(Date)或者是自定义数据类型等。因此在服务器端必须将字符串转换成合适的数据类型,如图3-1所示。 3.1.2 简单的类型转换示例 这个示例通过用户输入页来接受用户输入姓名、年龄、注册日期,然后将用户输入页提交到相应的Action进行处理,最后再通过输出页输出用户的输入信息。 步骤如下。 3.2 Struts 2内建的类型转换器 Sturts 2为常用的数据类型提供了内建的类型转换器,所以根本不用自定义转换器。对于内建的转换器,Struts在遇到这些类型时,会自动去调用相应的转换器进行类型转换。下面来看Struts 2提供了哪些内建的类型转换器,以及这些内建类型转换器的使用。 3.2.1 内建转换器介绍 从上面那个例子可以看出,Sturts 2为常用的数据类型提供了内建的类型转换器,所以根本不用自定义转换器。对于内建的转换器,Struts在遇到这些类型时,会自动去调用相应的转换器。 下面列举了全部的内建转换器。具体如下。 基本数据类型以及其封装类。包括:boolean和Boolean、char和Character、int和Integer、long和Integer、float和Float、double和Double。完成字符串和基本数据类型或其封装类之间的转换。 日期类型。使用当前区域的短格式转换,即DateFormat.getInstance(DateFormat.SHORT)。完成字符串和日期类型之间的转换。 集合(Collection)类型。将request.getParameterValues(String arg)返回的字符串数据与java.util.Collection转换。集合元素为String类型。 集合(Set)类型。与Collection的转换相似,只是去掉了相同的值。集合元素为String类型。 数组类型。将request.getParameterValues(String arg)返回的字符串数组中的每个字符串值取出组成一个数组。数组元素为String类型。 3.2.2 基本数据类型转换器 下面再来看下Struts 2提供的内建类型转换器,是如何完成字符串和基本数据类型之间的转换的。 3.2.3 基本数据类型的封装类转换器 Struts 2不但提供了基本数据类型转换器,同时也提供了基本数据类型封装类的转换器。其用法和基本数据类型基本一样,只需修改业务控制器中的属性为对应的封装类就可以了。 3.2.4 数组类型转换器 Struts 2还提供了一个数组类型的转换器。这个转换器非常有用,比如多个表单元素的name属性相同,那么提交的参数就不再是字符串而是一个字符串数组。通过Sturts 2提供的数组类型的转换器就能很方便的将多个相同name属性的表单元素的值封装到Action中的一个数组中。 3.2.5 集合类型转换器 上面介绍的是通过字符串数组来接受参数值,同样也可以通过集合类型来接受参数值。Struts 2提供的集合类型转换器,会将参数值自动赋值到集合类型属性中。 3.3 OGNL表达式语言 Struts 2已经实现了一些常用的类型转换器,但是这些类型转换器毕竟还是有限的。如果是开发者自己定义的数据类型,就必须自定义类型转换器来进行转换。在Struts 2中自定义类型转化器是非常方便和简单。因为Struts 2的类型转换是基于OGNL来实现的,所以在介绍自定义类型转换器之前先简单介绍OGNL。 3.3.1 简单介绍OGNL以及如何下载OGNL源代码 OGNL(Object Graph Navigation Language)是一种强大的表达式语言。可以通过OGNL提供的TypeConvert接口以及实现了TypeConvert的DefaultTypeConvert类来实现自定义的类型转换器。 OGNL提供的类和接口全部包含在ognl 2.6.11.jar这个库文件中,这些库文件中都是已经编译好的cla

文档评论(0)

huangxiong1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档