struts2中的类型转换

原创 2016年08月29日 14:03:53

在struts2中,常见的数据类型都会自动进行类型转换,但是某些特殊的类型转换,当使用量很大时,我们可以使用struts2中的自定义类型转换,实现步骤如下:

1)编写类型转换器--继承StrutsTypeConvert类

2)编写xwork-conversion.properties的配置文件,并放在项目src目录下,内容为: 要转换的类型=类型转换器 

具体实现方式代码如下;

我们以坐标类型为例的类型转换器

public class PointConvert extends StrutsTypeConverter{
	/**
	 * context:是ActionContext
	 * values:要进行类型转换的字符串数组
	 * toClass:被转换的类型
	 * 
	 * 将表单提交的字符串数据转换为自定义数据类型
	 */
	@Override
	public Object convertFromString(Map context, String[] values, Class toClass) {
		String value = values[0];
		Point point = new Point();
		String x = value.substring(1,value.indexOf(","));
		String y = value.substring(value.indexOf(",")+1,value.length()-1);
		point.setX(Integer.parseInt(x));
		point.setY(Integer.parseInt(y));
		System.out.println(x+"---"+y);
		return point;
	}
	
	/**
	 * context:是ActionContext
	 * o:要转换的对象
	 * 将自定义数据类型转换为字符串数据显示在前台--通过ognl表达式将会使用该方法进行转换
	 */
	@Override
	public String convertToString(Map context, Object o) {		
		Point point = (Point)o;
		String value = "("+point.getX()+","+point.getY()+")";
		return value;
	}
}
xwork-conversion.properties的配置如下:

实体类包名.Point=转换器包名.PointConvert



版权声明:本文为博主原创文章,未经博主允许不得转载。

五、Struts2之类型转换

一、Struts2 类型转换介绍   类型转换:解析HTTP请求参数,将Http请求参数赋值给Action的属性;比如:         此处将名为nam...
  • xiazdong
  • xiazdong
  • 2012年02月02日 21:34
  • 8021

Struts2——基于StrutsTypeConverter的类型转换

简单来说 执行继承StrutsTypeConverter的类型转换时, 页面向后台传数据执行convertFromString(), 后台向前台传数据执行convertToString()类型转...
  • my13413527259
  • my13413527259
  • 2017年02月03日 16:26
  • 559

Struts2之类型转换中的错误

1. 处理类型转换错误 在Web的应用中,表现层主要涉及到数据校验和类型转换,这两个是紧密相关的。在实际中,只有通过了类型转换,下一步才会去实现数据上的校验。那么今天,笔者将向大家介绍关于Strut...
  • owen_william
  • owen_william
  • 2016年02月22日 23:40
  • 731

Struts2(二)局部与全局类型转换器

所谓类型转换器就是继承一个类DefaultTypeConverter,然后重写方法实现。应用类型转换器会有两种情况: 1、由请求参数的值转换成属性的值 2、使用struts2的标签,进行数据回显...
  • u011731233
  • u011731233
  • 2015年06月17日 18:14
  • 1557

深入理解Struts2----类型转换

之前的一系列文章主要介绍了有关Struts2的一些基本用法和部分的简单原理,但是始终没有介绍有关拦截器的相关内容,从本篇开始我们将从另一个角度去深入理解框架的使用,核心还是拦截器,但本篇首先来介绍下有...
  • qq_35326718
  • qq_35326718
  • 2017年05月17日 21:15
  • 386

struts2类型转换中的异常处理

在网页中的资源信息过于丰富,如果用户在填写表单时不按照要求的数据类型输入,就会导致页面异常。如:年龄输入框只能输入整数,而用户输入了字母,页面就应该提示出数据类型不符合。struts2提供了自带的异常...
  • fancheng614
  • fancheng614
  • 2017年07月10日 19:35
  • 143

Struts2_类型转换错误消息的显示和定制

类型转换概述 从一个HTML表单到一个Action对象,类型转换是从字符串到非字符串 --HTTP没有“类型”的概念,每一项表单输入只可能是一个字符串或一个字符串数组。在服务器端,必须把Str...
  • Mrwuyi
  • Mrwuyi
  • 2016年05月25日 17:50
  • 1307

【Struts2框架】第七节类型转换-类型转换原理和自定义类型转换器实例

1.类型转换原理 类型转换是struts拦截器来实现的。 类型转换的意思是能够把参数转换成action里面所需要的类型。 转换不了可以使用自己写的转换器(但几乎不用自己写)。 在struts的传参过...
  • u013517797
  • u013517797
  • 2015年07月30日 21:44
  • 2470

Struts2常用的常量配置

struts.locale:指定Web应用的默认Locale。默认的Locale是en_US。struts.i18n.encoding:指定Web应用的默认编码集。该常量对于处理中文请求参数非常有用。...
  • lzx_longyou
  • lzx_longyou
  • 2016年01月22日 13:21
  • 1653

struts2的自定义类型转换和异常处理

action数据类型封装中自定义类型转换。
  • pseudonym_
  • pseudonym_
  • 2017年06月28日 02:54
  • 584
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts2中的类型转换
举报原因:
原因补充:

(最多只允许输入30个字)