• SpringMVC 自定义转换器


    实践SpringMVC转化器是遇到的问题:表单提交没有经过自定义转换器(解决:表单用post方式提交)

    自定义转化器代码

    package cn.liangqinghai.test;
    
    import org.springframework.core.convert.converter.Converter;
    
    import cn.liangqinghai.pojo.Student;
    public class MyConverter implements Converter<String, Student>{
    
        @Override
        public Student convert(String source) {
            
            System.out.println("自定义转换器接受到的内容");
            String[] val = null;
            if(source != null && !"".equals(source)){
                val = source.split("-");
                String sid = val[0];
                String sname = val[1];
                String password = val[2];
                
                Student student = new Student(Integer.parseInt(sid), sname, password);
                
                System.out.println("转换后的内容:" + student);
                
                return student;
            }
            
            return null;
        }
    
    }

    控制器代码

    /*****************************测试自动类型转换**************************************************/
        @RequestMapping("/converter")
        public String testConverter(@ModelAttribute("Student")Student student){
            
            studentDao.add(student);
            
            return "redirect:/curd/listAll";
            
        }

    spring.xml配置文件

    !--  -->
        <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
        
        <!-- 配置自定义转换器 -->
        <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
            
            <property name="converters">
                <list>
                    <bean class="cn.liangqinghai.test.MyConverter"></bean>
                </list>
            </property>
            
        </bean>

    表单:

    <h1>测试自定义转换器</h1>
        <form action="${pageContext.request.contextPath }/curd/converter" method="post">
            <input type="text" name="Student">
            <input type="submit">
        </form>

    表单提交方式必须为POST

  • 相关阅读:
    对文本抽取词袋模型特征
    jieba分词
    家用电器用户行为分析与事件识别
    Linux系统调用:创建和终止进程
    Linux系统调用:获取进程PID
    使用函数指针解决函数重载二义性调用问题
    C++ string基本操作
    有界深度优先搜索-八数码问题
    数据传送指令
    x86-64数据格式、通用寄存器与操作数格式
  • 原文地址:https://www.cnblogs.com/liangqinghai/p/6995022.html
Copyright © 2020-2023  润新知