自定义类型转换器


 1 一、自定义类型转换器
2 1、编写一个类,继承com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter
3 2、覆盖掉其中的public Object convertValue(Map<String, Object> context, Object value,Class toType)
4 context:OGNL表达式的上下文
5 value:实际的值。用户输入的都是字符串,但他是一个String数组。
6 toType:目标类型
7 public class DateConvertor extends DefaultTypeConverter {
8 /*
9 context:ognl表达式的上下文
10 value:用户输入的值( 保存数据时)或者模型中的属性。用户输入的值是String数组
11 toType:目标类型
12 */
13 @Override
14 public Object convertValue(Map<String, Object> context, Object value,
15 Class toType) {
16 DateFormat df = new SimpleDateFormat("yyyy/MM/dd");
17 if(toType==Date.class){
18 //2013/05/31----->java.util.Date 保存数据时
19 String strValue = ((String[])value)[0];
20 try {
21 return df.parse(strValue);
22 } catch (ParseException e) {
23 throw new RuntimeException(e);
24 }
25 }else{
26 //java.util.Date----->2013/05/31 获取数据时
27 Date dValue = (Date)value;
28 return df.format(dValue);
29 }
30 }
31 }
32 3、注册类型转换器
33 3.1局部类型转换器:只对当前的Action有效
34 具体做法:在动作类相同的包中,建立一个名称是“动作类名-conversion.properties”的配置文件,
35 文件中增加以下内容:要验证的字段=验证器的类全名
36 birthday=cn.itcast.convertor.DateConvertor
37 3.2全局类型转换器:对所有的Action都有效
38 具体做法:在WEB-INF/classes目录下,建立一个名称为"xwork-conversion.properties"的配置文件,
39 文件中增加以下内容:目标类型全名=验证器的类全名
40 java.util.Date=cn.itcast.convertor.DateConvertor
41
42
43
44 注意:如果转换失败,Struts2框架会寻找name=input的结果页面

自定义类型转换器

时间: 2024-10-05 11:56:25

自定义类型转换器的相关文章

springmvc 类型转换器 自定义类型转换器

自定义类型转换器的步骤: 1.定义类型转换器 2.类型转换器的注册(在springmvc配置文件处理) 来解决多种日期格式的问题:

struts2基础----&gt;自定义类型转换器

这一章,我们开始struts2中自定义类型转换器的学习. 自定义类型转换器 一.定义一个继承于StrutsTypeConverter的转换类: package com.huhx.converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import o

sruts2 自定义类型转换器

1.1.1    Struts2中自定义类型转换器:(了解) 类型转换的过程是双向的过程: JSP---->Action参数提交:String---Date. Action---->JSP数据回显:Date---String. 自定义类型转换器: * 1.实现TypeConverter * convertValue(java.util.Map<java.lang.String,java.lang.Object> context, java.lang.Object target, j

struts2自定义类型转换器

首先,何为struts2的类型转换器? 类型转换器的作用是将请求中的字符串或字符串数组参数与action中的对象进行相互转换. 一.大部分时候,使用struts2提供的类型转换器以及OGNL类型转换机制即可满足大部分类型转换需求.如: 类User.java package models; public class User { private String username; private String password; public String getUsername() { retur

Struts2 自定义类型转换器

Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性 用date类型是可以接收到的,但是如果传的是20101112这样类型的字符串,用date类型是获取不到,并且会出现错误的,struts2提供了一 种类型转换器供我们使用. 以下为局部类型转换器的开发步骤a.首先要写一个类来继承DefaultTypeConverterb.然后覆盖convertValue

自定义类型转换器converter

作用:目前将日期转换成string,将string转换成我想要的类型   0509课件里讲 一.数据类型转换在web应用程序中,数据存在两个方向上的转换:1.当提交表单时  表单数据以字符串的形式提交给服务器,在服务器端转换成不同的Java数据类型 2.当需要在页面显示数据时  将不同的Java数据类型转换为对应的字符串格式显示输出 二.Struts2内置的类型转换Struts2内置了常用类型的自动转换功能,支持常见数据类型与字符串之间的转换 三.自定义类型转换1.编写自定义类型转换器,继承St

strut2 自定义类型转换器

描述:假设用户请求地址:http://xxx.action?date=2015-01-01.  假设action中已经存在了date属性,且类型为Date.当用户请求的参数格式为xxxx-xx-xx或者xxxx-x-x的时候,action可以正常的接收到日期类型,即string字符串可以自动转换为Date类型.但是当用户的请求为xxxxxxxx(20150101)的时候,action不能够转换为日期类型,且报错.这时候就需要自定义类型转换器来实现日期的转换. 问题解决:自定义类型转换器 新建立一

springmvc 自定义类型转换器

springmvc除了自带的部分类型转换之外,还可以自定义类型转换器,按照以下步骤: 1.写一个类实现Converter接口 package com.hy.springmvc.entities; import org.springframework.core.convert.converter.Converter; import com.google.gson.Gson; public class DepartmentConvertor implements Converter<String,

Struts2框架的自定义类型转换器

前言:对于java的基本数据类型及一些系统类(如Date类.集合类),Struts2提供了内置类型转换功能,但是也有一定的限制.所以就演示出自定义类型转换器 一.应用于局部类型转换器 eg.用户登录出生日期只能用2016-06-09的方式才能转化成功,那么2016/06/09就不能转换成功所以就引出来我们的自定义类型转换器 1首先我们将做准备工作 1)login.jsp注册页面 <%@ page language="java" import="java.util.*&q