关于spring:SpringMVC中文字符集处理自定义转换器

中文字符集的解决

解决中文字符集应用mvc提供的一个CharacterEncodingFilter过滤器,只须要在web.xml配置信息外面增加如下过滤器配置

<filter>
 <filter-name>characterEncoding</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>characterEncoding</filter-name>
 <url-pattern>/*</url-pattern>
</filter-mapping>

自定义类型转换器

情景案例:咱们须要在网页上输出一个日期,然而springmvc有本人的日期转换格局类型,然而咱们想用咱们本人的格局,这时候就须要自定义一个类型转换器

  • 1)自定义一个类,实现Converter接口,重写办法
/**
 * 自定义转化器:将String转化成Date
 */public class StringToDateConverter implements Converter<String, Date> {
    
         @Override
         public Date convert(String s) {
                //自定义一个转换规则
         //将申请发送过去的String信息转化成本人要的那个对象
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh-mm-ss");
         Date date = null;
         try {
                    date = sdf.parse(s);
         } catch (ParseException e) {
                    e.printStackTrace();
         }
         //将对象返回
         return date;
     }
}
  • 2)告知Spring须要加载并治理该对象,Spring的外围配置文件信息如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

<!-- 开启spring注解驱动-->
 <context:component-scan base-package="com.cjh"/>
<!-- 开启mvc注解驱动-->
 <mvc:annotation-driven></mvc:annotation-driven>
<!-- 加载一个类型转换器,这个类是用来帮咱们治理咱们自定义的类型转换器-->
 <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean">
 <property name="converters">
 <set> <bean class="com.cjh.util.StringToDateConverter"/>
 </set> </property> </bean>
<!-- 手动配置这个类的驱动-->
 <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
</beans>
  • 3)具体实现如下:

    • JSP:
    <%@ page contentType="text/html; charset=UTF-8" language="java" %>
    <html>
    <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>cai jin hong</title>
     <style>
     </style></head>
    <body>
     <form action="testFive.do" method="post">
        date:<input type="text" name="date" value="">
     <input type="submit" value="submit">
     </form>
    </body>
    </html>
    • Java代码:
    @Controller
    public class UserController {
        //办法中传入实体对象:对象外面有list汇合
        @RequestMapping("testFive.do")
        public void testFive(Date date){
             System.out.println(user);
        }
    }

评论

发表回复

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

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理