SpringMVC中文乱码与日期类型的处理

中文乱码问题

  只需要在web.xml中配置编码过滤器即可

  <filter>
    <filter-name>characterEncodingFilter</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>
    <!--设置request作用域强制使用此编码格式-->
    <init-param>
      <param-name>forceRequestEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
    <!--设置response作用域强制使用此编码格式-->
    <init-param>
      <param-name>forceResponseEncoding</param-name>
      <param-value>true</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

或者直接设置request和response都强制使用此编码

    <init-param>
      <param-name>ForceEncoding</param-name>
      <param-value>true</param-value>
    </init-param>

日期类型处理

1、方法一:在类的字段或Controller形参上@DataFormat(pattern="yyyy-MM-dd")

@[email protected]@[email protected]@ToString
public class Student {
    private String username;
    private String password;
    private List<String> id;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
}

2、方法二:在Controller类中添加以下代码

@InitBinder
public void initBinderDateType(WebDataBinder binder){
      SimpleDateFormat sdf = new SimpleDateFormat();
      sdf.applyPattern("yyyy-MM-dd");
      binder.registerCustomEditor(java.util.Date.class,new CustomDateEditor(sdf,true));
}

3、方法三:使用@ControllerAdvice注解,该类必须处于能被Spring扫描到的包中。

@ControllerAdvice
public class DateFormatControllerAdvice {
    @InitBinder
    public void initBinderDateType(WebDataBinder binder){
        SimpleDateFormat sdf = new SimpleDateFormat();
        sdf.applyPattern("yyyy-MM-dd");
        binder.registerCustomEditor(java.util.Date.class,new CustomDateEditor(sdf,true));
    }
}

原文地址:https://www.cnblogs.com/xfdhh/p/11517575.html

时间: 2024-11-05 16:39:25

SpringMVC中文乱码与日期类型的处理的相关文章

springMVC中文乱码问题

如何解决springMVC中文乱码问题? 由于Filter组件会在servlet之前执行 在拦截器中设置编码 CharacterEncodingFilter(Spring-web提供) 在web.xml中配置Filter <filter> <filter-name>myfilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</fi

Tomcat,SpringMVC 中文乱码问题解决

GET 协议提交的中文乱码: URL参数,是在tomcat层面进行解析的,需要设置uriencoding参数为utf-8. 找到server.xml文件(一般在/etc/tomcat6/server.xml),修改为: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding=&

SpringMVC中文乱码

刚刚构建的SpringMVC项目,一般都是中文乱码的. 这时的工程就是一个JSP页面的事情,可以添加如下代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 如果POST传值可以在web.xml中添加如下过滤器 <filter> <filter-name>characterEncodingFilter</filter

彻底解决Springmvc中文乱码问题

如果使用是网页地址get方式请求传输中文字符的话,springmvc会出现乱码的问题,这时候需要在web.xml中配字符拦截器(ps:仅对post请求有效果) ---------------------------------------------------------------------------------------------------------------------------- <!-- 配置编码过滤器,解决中文乱码问题:页面需设置utf-8,提交方式需为:post否

解决SpringMVC中文乱码问题

说实话在ITOO开发初期最令人头疼了除了没办法热部署就是乱码问题了,不是数据库乱了就是页面乱了,真心是心塞呀,好好的数据总是乱码让人情何以堪. 这里总结几条可以解决中文乱码的问题,希望对大家有帮助: 通常情况下我们都把编码格式设置成UTF-8. 第一种情况: jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8,代码如下: Web.xml配置文件: <filter> <filter-name&g

彻底解决springMVC中文乱码

一.页面编码 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 二.URL中的乱码 改tomcat中server.xml中Connector的port="8080",加

SpringMVC中文乱码,字符过滤器配置

spring的字符集过滤通过用于处理项目中的乱码问题,该过滤器位于org.springframework.web.filter包中,指向类CharacterEncodingFilter, 在web.xml中 <filter>        <filter-name>characterEncodingFilter</filter-name>        <filter-class>org.springframework.web.filter.Characte

解决SpringMVC中文乱码问题以及配置不生效问题

在web.xml增加如下配置,这里请注意<url-pattern>/*</url-pattern>的配置,不能配置为这样<url-pattern>/</url-pattern>,少了*后就不生效.虽然SpringMVC经常配置filter-mapping的时候经常用"/"匹配所有URL,但是在这里就是不生效,我就是遇到了这样问题!!! <!-- 配置字符集 --> <filter> <filter-name&

SpringMVC 中文乱码

web.xml <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value&g