海阔天空

当前时间为:
欢迎大家来到海阔天空https://www.9713job.com,广告合作以及淘宝商家推广请微信联系15357240395

2020java框架教程之springMVC类型转换

未分类
2020-12-16 09:12:09
1822677238@qq.com

手机扫码查看

2020java框架教程之springMVC类型转换

2020java框架教程之springMVC类型转换

1.Date日期类型转换

a.在实体类创建日期类型的属性并生成toString()方法
b.在添加的表单新增日期属性
c.在实体类的日期类型上增加注解:@DateTimeFormat(pattern = “yyyy/MM/dd”)
d.在控制层的添加方法打印类对象

2.自定义类型转换器

a.新建包:converter
b.新加类 DateConverter 并实现Converter<String, Date>接口,覆盖方法

@Override
public Date convert(String s) {
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    try{
        //是否宽松解析:默认false
        sdf.setLenient(false);
        return sdf.parse(s);
    }catch (Exception e){}
    return null;
}

c.在springMVC-servlet.xml文件添加

<!-- 注解驱动  -->
<mvc:annotation-driven conversion-service="myConverter"/>
<!-- 类型转换器 -->
<bean id="myConverter" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
    <property name="converters">
        <set>
            <bean class="springmvc.converter.DateConverter"/>
        </set>
    </property>
</bean>

d.在实体类对象的日期属性上取消格式转化注解

3.批量添加用户

添加表单:

<h1>批量添加</h1>
<p>格式为:username-age-email</p>
<form action="${pageContext.request.contextPath}/admin/saveuser" method="post">
    <textarea name="user" id="user" cols="100" rows="10"></textarea><br>
    <button>保存</button>
</form>

对象转换器:

public class UserConverter implements Converter<String, User> {
    @Override
    public User convert(String s) {
        if (s != null) {
            String[] split = s.split("-");
            if(split!=null && split.length==3){
                String username = split[0];
                Integer age=Integer.parseInt(split[1]);
                String email=split[2];
                User user=new User();
                user.setUsername(username);
                user.setAge(age);
                user.setEmail(email);
                return user;
            }
        }
        return null;
    }
}

控制层:

//批量添加用户
@RequestMapping(value = "/saveuser" ,method = RequestMethod.POST)
public String saveuser(User user){
    System.out.println(user);
    System.out.println("save");
    usersDao.save(user);
    return "redirect:/admin/list";
}

4.其他类型转换

java 如何判断操作系统是Linux还是Windows

java.version Java 运行时环境版本
java.vendor Java 运行时环境供应商
java.vendor.url Java 供应商的 URL
java.home Java 安装目录
java.vm.specification.version Java 虚拟机规范版本
java.vm.specification.vendor Java 虚拟机规范供应商
java.vm.specification.name Java 虚拟机规范名称
java.vm.version Java 虚拟机实现版本
java.vm.vendor Java 虚拟机实现供应商
java.vm.name Java 虚拟机实现名称
java.specification.version Java 运行时环境规范版本
java.specification.vendor Java 运行时环境规范供应商
java.specification.name Java 运行时环境规范名称
java.class.version Java 类格式版本号
java.class.path Java 类路径
java.library.path 加载库时搜索的路径列表
java.io.tmpdir 默认的临时文件路径
java.compiler 要使用的 JIT 编译器的名称
java.ext.dirs 一个或多个扩展目录的路径
os.name 操作系统的名称
os.arch 操作系统的架构
os.version 操作系统的版本
file.separator 文件分隔符(在 UNIX 系统中是“/”)
path.separator 路径分隔符(在 UNIX 系统中是“:”)
line.separator 行分隔符(在 UNIX 系统中是“/n”)
user.name 用户的账户名称
user.home 用户的主目录
user.dir 用户的当前工作目录

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注