您的位置:首页 > 编程语言 > Java开发

Struts2笔记——类型转换

2015-08-27 12:00 337 查看
 概述

* 从一个HTML 表单到一个Action 对象, 类型转换是从字符串到非字符串.
    >HTTP 没有 “类型” 的概念. 每一项表单输入只可能是一个字符串或一个字符串数组. 在服务器端, 必须把 String转换为特定的数据类型

* 在 struts2 中, 把请求参数映射到 action 属性的工作由 Parameters 拦截器负责, 它是默认的 defaultStack 拦截器中的一员. Parameters拦截器可以自动完成字符串和基本数据类型之间转换.

===================================

接收请求参数

采用基本类型接收请求参数
在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。



java.util.Date类型的属性可以接收格式为yyyy-MM-dd的请求参数值。但如果我们需要接收格式为yyyyMMdd的请求参数,我们必须定义类型转换器,否则struts2无法自动完成类型转换。

 


===================================

定制类型转换器 

* 自定义类型转化器必须实现ongl.TypeConverter 接口或对这个接口的某种具体实现做扩展 



 

===================================
配置自定义类型转换器

  

在应用程序里使用一个自定义的类型转换器之前, 必须先对它进行配置.
这种配置既可以基于字段,也可以基于类

-------------------

基于字段配置(局部): 可以为某个动作的各个属性分别制定一个自定义的转换器.

1. 创建一个属性文件: ActionClassName-conversion.properties, 该文件需和相对应的动作类(Action)放在同一个目录,ActionClassName是Action的类名,后面的-conversion.properties是固定写法.在properties文件中的内容为:
    属性名称=类型转换器的全类名

 
    对于本例而言,文件的名称应为UserAction- conversion.properties

2. 编辑属性文件:

    createTime=cn.itcast.converter.DateConverter

------------------

基于类配置(全局):

* 在 WEB-INF/classes/ 目录下创建 xwork-conversion.properties 文件.
* 在properties文件中的内容为:
          待转换的类型=类型转换器的全类名
* 对于本例而言, xwork-conversion.properties文件中的内容为:
    java.util.Date= cn.itcast.converter.DateConverter  

===================================

类型转换与复杂对象配合使用  

很多时候, 需要把表单字段映射到多个对象的不同属性上
form 标签可以被映射到一个属性的属性. 



 ===================================

类型转换与Collection配合使用 

* Struts 还允许填充 Collection 里的对象, 这常见于需要快速录入批量数据的场合 


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0