要想实现自定义转换器,要让需要转换的对象继承DefaultTypeConverter类或者StrutsTypeConverter类,获得一个类型转换器的入口,从而实现开发者自己的类型转换器,完成字符串和自定义复合类型之间的转换。
注册局部类型转换器的几点要求是:1、property文件在命名上必须以Action的类名-conversion.properties的形式命名;2、property文件必须和Action在同一个目录下;3、最后要求在文件中定义对象名(非定义类名)以及对应的转换器的具体路径。整个项目的完整分布图如下:
下面是各个文件的具体代码:
web.xml:
strutsDemo01
Rectangle.jsp
strutsDemo01
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
strutsDemo01
/*
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
长方形
RectangleAreaAction.java
RectangleAreaAction-conversion.properties:
rectangle=com.converter.RectangleConverter
RectangleConverter.java:
Rectangle.java: