Maison  >  Article  >  Java  >  SpringMvc reçoit la soumission du formulaire de date et le convertit automatiquement en méthode de type Date

SpringMvc reçoit la soumission du formulaire de date et le convertit automatiquement en méthode de type Date

无忌哥哥
无忌哥哥original
2018-07-19 11:21:154535parcourir

L'utilisateur a l'attribut anniversaire (Date). Lorsque l'utilisateur s'inscrit, sélectionnez simplement la date, puis soumettez le formulaire. Spring mvc peut signaler une erreur 400 Bad Request signifie que la chaîne ne peut pas être convertie en type Date.

  • Ajouter une annotation de formatage de date à la classe d'entité

    @DateTimeFormat(pattern = "yyyy-MM-dd")  
    private Date birthday;
  • Ajouter un paragraphe au contrôleur Code de liaison des données du contrôleur

    //将字符串转换为Date类
    @InitBinder
    public void initBinder(WebDataBinder binder, WebRequest request) {
        //转换日期格式
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 注册自定义的编辑器
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
        
    }

  • Méthode 3 : implémenter un convertisseur de type de date global et le configurer

package nuc.ss.wlb.core.web;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;

public class CustomDateEdtor implements WebBindingInitializer {

    
    public void initBinder(WebDataBinder binder, WebRequest request) {
        // TODO Auto-generated method stub
        //转换日期格式
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
    }

}

//并在spingMVC配置文件进行配置

<!-- 配置全局日期转换器 -->
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="webBindingInitializer">    
            <bean class="nuc.ss.wlb.core.web.CustomDateEdtor"/>
        </property>
    </bean>
  • Méthode 4 : configuration de page jsp ou configuration en Freemark

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>   
<fmt:formatDate value="${job.jobtime }" pattern="yyyy-MM-dd HH:mm:ss"/>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn