700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > springMVC 自定义类型转换器

springMVC 自定义类型转换器

时间:2022-08-10 00:16:14

相关推荐

springMVC  自定义类型转换器

DateLocalConvertor 这里我们起名

package com.itheima.convertor;import org.springframework.core.convert.converter.Converter; //Converter这里要使用得是 springframework 里得import org.springframework.util.StringUtils;import java.text.SimpleDateFormat;import java.util.Date;//Converter<String, Date> stirng 传入类型 Date 返回类型 完成转换public class DateLocalConvertor implements Converter<String, Date> {//假设date 时间字符串格式为private String pattern = "yyyy-MM-dd";//自定义 pattern 时间格式public void setPattern(String pattern) {this.pattern = pattern;}@Override// Converter 转换器 接口中得抽象方法 在此处对数据进行转换public Date convert(String s) {if(StringUtils.isEmpty(s)){//如果传入值为 null 或者 空字符串 停止转换return null ;}try {SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);return simpleDateFormat.parse(s);} catch (Exception e) {e.printStackTrace();throw new RuntimeException("格式转换失败");}}}

webApplicationContext.xml 这是我们得spring 配置文件

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="/schema/context"xmlns:mvc="/schema/mvc"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans.xsd /schema/context /schema/context/spring-context.xsd /schema/mvc /schema/mvc/spring-mvc.xsd"><!-- spring 容器 扫描得范围 --><context:component-scan base-package="com.itheima"/><!--mvc 注解驱动 这里使用我们 替换掉 spring 默认得该服务 --><mvc:annotation-driven conversion-service="conversionService" /><!--视图解析器--><bean id="resourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" ><property name="prefix" value="/WEB-INF/pages/" /><property name="suffix" value=".jsp" /></bean><!--静态资源得映射--><mvc:resources mapping="/css/**" location="/WEB-INF/css/" /><mvc:resources mapping="/js/**" location="/WEB-INF/js/" /><!--自定义得类型转换器--><bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><bean class="com.itheima.convertor.DateLocalConvertor"><property name="pattern" value="yyyy-MM-dd"/></bean></property></bean></beans>

web.xml 配置

<web-app xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_1.xsd"version="3.1"><!-- 配置控制器 --><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:webApplicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--post 乱码问题--><filter><filter-name>encodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>

前端部分

<form action="${pageContext.request.contextPath}/user/register" enctype="application/x-www-form-urlencoded" method="post">name : <input type="text" name="name" value="tom"><br/>password : <input type="password" name="password" value="123"><br/>birthday : <input type="date" name="birthday" value="1999-02-12"><br/><input type="submit" value="提交"></form>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。