概述

* 从一个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笔记——类型转换的更多相关文章

  1. Struts2自定义类型转换,和处理类型转换错误

    Struts2自定义类型转换: 从前台接受到的类型全部是字符串,Struts2自带的一些基本类型转换有时不能满足我们的特别需要,如:日期字符串输入格式,还有一些自定义的类,直接传到后台,我们需要一些自 ...

  2. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

  3. Struts2的类型转换

    Struts2的类型转换 类型转换的作用: HTTP请求都是字符串类型,需要把这些字符串类型转化成相应的数据类型,使得Web应用的控制组件可以使用. 1.內建的类型转换器 Struts2可以完成大多数 ...

  4. 关于Struts2的类型转换详解

    详细出处参考:http://www.jb51.net/article/35465.htm 一.类型转换的意义 对于一个智能的MVC框架而言,不可避免的需要实现类型转换.因为B/S(浏览器/服务器)结构 ...

  5. Struts2笔记分享(一)

    Struts2概述1.简介Struts就是在Model2的基础上实现的一个MVC框架,它只有一个中心控制器,采用XML定制的转向的URL,采用Action来处理逻辑.2.Struts2的MVC模式MV ...

  6. Struts2的类型转换机制

    Struts2的类型转换机制 在基于HITP 协胆的Web 应用中,客户端〈浏览器〉和服务器之间传输的都是字符串形式的数据,换句话说,服务器接收到的用户数据只能是字符串或字符数组, 但在服务器端的Ja ...

  7. java之struts2之类型转换

    在使用servlet开发中,表单中提交的数据到servlet后都是字符串类型,需要程序员手动进行类型转换. 但是到struts2后,基本数据类型struts2都可以转换.但是如果是自定义类型,stru ...

  8. (十二)struts2的类型转换

    所有的MVC框架,都属于表现层的解决方案,都需要负责收集用户请求参数,并将请求参数传给应用的控制器组件. 这时问题出现了,所有的请求参数都是字符串类型数据,因此MVC框架必须具备将这些字符串请求参数转 ...

  9. struts2笔记(3)

    关于回显: 如果是int型,默认就会回显为0,如果不想让回显,则Integer就好 //**************************************声明式验证************* ...

随机推荐

  1. 微软职位内部推荐-Senior SDE

    微软近期Open的职位: Position: Senior SDE-- Mobile Products Android/iOS/WP Senior Developer Contact Person: ...

  2. mui开发

    http://blog.csdn.net/sunhuaqiang1/article/details/46848005

  3. UITableView基本使用和cell的属性

    在ios的UI中UITableView是个常用且强大的控件 基本使用: 1>设置代理,一般把控制器设为代理:self.tableView.delegate = self; 2>遵守代理的协 ...

  4. 好书推荐——《Soft Skill》

    这本书不是一本简单的叙述程序员职业规划和如何提高能力的书. 他论述了如何做一个高产,快乐,幸福的程序员,包括职业生涯,理财,学习,健身,信仰等各个方面的内容. 推荐给每一位伟大的拯救宇宙的程序员! 书 ...

  5. linshiwendang12--匈牙利

    #include<bits/stdc++.h> #define N 10007 using namespace std; vector<int> p[N]; bool vis[ ...

  6. bzoj 3037 贪心

    我们可以贪心的分析,每个点的入度如果是0,那么这个点不可能 被用来更新答案,那么我们每次找入度为0的点,将他去掉,如果他连的 点没有被更新过答案,那么更新答案,去掉该点,环的时候最后处理就行了 /** ...

  7. Leetcode#148 Sort List

    原题地址 链表归并排序 真是恶心的一道题啊,哇了好多次才过. 代码: void mergeList(ListNode *a, ListNode *b, ListNode *&h, ListNo ...

  8. Ubuntu 字体修改以及字体的相关知识 分类: ubuntu 2014-06-19 21:46 81人阅读 评论(0) 收藏

    Ubuntu chrome 字体修改 打开任意一张含有输入框的网页,比如Google首页,然后右键点击"搜索框"会拉出一个菜单,我们这样选: 拼音检查选项==>语言设置==& ...

  9. Poj 1050 分类: Translation Mode 2014-04-04 09:31 103人阅读 评论(0) 收藏

    To the Max Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 39058   Accepted: 20629 Desc ...

  10. 安装JDK后环境变量的配置

    1.JAVA_HOME:JDK的安装路径2.CLASSPATH:java运行时加载的类路径,即JDK的lib下面的tools.jar和dt.jar3.PATH:JDK安装包下的bin目录