zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    在sql2005中附加数据库时出现无法打开物理文件
    设置和获取文本框中的光标位置
    Dock(停靠)优先小经验
    asp.net(c#)GridView实现鼠标悬停高亮显示
    C# 截取屏幕个人总结
    【作品发布】将硬盘分区为整数的方法
    C# 调用系统“运行”功能
    Linq 在绑定控件后,DataItem的用法
    (一)先配置一些程序 小青年
    ruby中的File操作 小青年
  • 原文地址:https://www.cnblogs.com/liangqinghai/p/6995022.html
Copyright © 2011-2022 走看看