栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring MVC类型转换器(Converter)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring MVC类型转换器(Converter)

需要用户在页面表单中输入信息来创建商品信息。当输入“bianchengbang,18,1.85”时表示在程序中自动创建一个 new User,并将“bianchengbang”值自动赋给 name 属性,将“18”值自动赋给 age 属性,将“1.85”值自动赋给 height 属性。
如果想实现上述应用,需要做以下 5 件事:

  • 创建实体类。
  • 创建控制器类。
  • 创建自定义类型转换器类。
  • 注册类型转换器。
  • 创建相关视图。
  1. 创建实体类
public class User {
    private String name;
    private Integer age;
    private Double height;
    
}
  1. 创建控制器类
@Controller
public class UserController {
    @RequestMapping("/addUser")
    public String addUser() {
        return "addUser";
    }
}

创建 ConverterController 控制器⭐

@Controller
public class ConverterController {
    @RequestMapping("/converter")
    public String myConverter(@RequestParam("user") User user, Model model) {
        model.addAttribute("user", user);
        return "showUser";
    }
}
  1. 创建自定义类型转换器
@Component
public class UserConverter implements Converter {
    @Override
    public User convert(String source) {
        // 创建User实例
        User user = new User();
        // 以“,”分隔
        String stringvalues[] = source.split(",");
        if (stringvalues != null && stringvalues.length == 3) {
            // 为user实例赋值
            user.setName(stringvalues[0]);
            user.setAge(Integer.parseInt(stringvalues[1]));
            user.setHeight(Double.parseDouble(stringvalues[2]));
            return user;
        } else {
            throw new IllegalArgumentException(String.format("类型转换失败, 需要格式'编程帮, 18,1.85',但格式是[% s ] ", source));
        }
    }
}
  1. 配置转换器
    springmvc-servlet.xml 文件



    
        
            
        
    

  1. 创建相关视图
    创建添加用户页面 addUser.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




添加用户


    
请输入用户信息(格式为编程帮, 18,1.85):

创建显示用户页面 showUser.jsp⭐

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




文件上传


    您创建的用户信息如下:
    
用户名:${user.name }
年龄:${user.age }
身高:${user.height }
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1017429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号