自定义一个转换器

来源:互联网 发布:软件实施人员基本素质 编辑:程序博客网 时间:2024/05/21 00:47

这个是一个简单的转换器

1页面

复制代码
<form action="http://localhost:8080/springMVCapp07a/testConversionServiceConverter" method="post">    <!--    private String name;    private String description;    private Float price;    private Date productionDate;  -->    <!--格式:java-javabase-12.0-2011.12.12  -->    product:<input type="text" name="product">    <input type="submit" value="submit">    </form>
复制代码

转换器的类

复制代码
@Componentpublic class ProcuctConverter implements  Converter<String, Product>{    @Override    public Product convert(String source)    {        if(source != null)        {            Product product = new Product();            //java-javabase-12.0-2011.12.12            String[] values = source.split("-");            if(values != null && values.length==4)            {                product.setName(values[0]);                product.setDescription(values[1]);                product.setPrice(Float.parseFloat(values[2]));                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");                product.setProductionDate(new Date());                System.out.println(source + "--converter"+product);             return product;               }                                }        return null;    } 
复制代码

springmvc配置文件

复制代码
 <!--配置ConversionService  -->    <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">        <property name="converters">            <set>            <ref bean="procuctConverter"/>            </set>        </property>    </bean>
复制代码

记得要在annotation上加上这句

<mvc:annotation-driven conversion-service="conversionService" />

目标action

复制代码
@Controllerpublic class testConversionService{    @RequestMapping(value="/testConversionServiceConverter")        public String test(@RequestParam("product") Product product )    {        System.out.println("/testConversionServiceConverter"+product);        return "ProductForm";    }}
0 0
原创粉丝点击