정상적인 상황에서는 프론트 엔드에 의해 전달되는 매개 변수는 SpringMVC에 의해 직접 수신 될 수 있지만 날짜 개체와 같은 특별한 경우도 있습니다. 내 프론트 엔드에서 날짜가 전송되면 서버는 매개 변수 바인딩을 사용자 정의하고 프론트 엔드 날짜를 변환해야합니다. 사용자 정의 매개 변수 바인딩도 매우 간단하며 두 단계로 나뉩니다.
1. 사용자 정의 매개 변수 변환기
사용자 정의 매개 변수 변환기는 다음과 같이 변환기 인터페이스를 구현합니다.
공개 클래스 DateConverter 구현 변환기 <문자열, 날짜> {private simpledateformat simpledateformat = new SimpledateFormat ( "yyyy-mm-dd"); @override public date convert (string s) {if ( "".equals (s) || s == null) {return null; } try {return simpledateformat.parse (s); } catch (parseException e) {e.printstacktrace (); } return null; }}변환 메소드는 문자열 매개 변수를 수신하며, 이는 프론트 엔드에서 보낸 날짜 문자열입니다. 이 문자열은 yyyy-mm-dd 형식을 만족 시키고이 문자열을 날짜 개체로 변환하고 SimpledateFormat을 통해 반환합니다.
2. 변환기를 구성하십시오
Custom WebMvcConfig는 WebMvcConfigurerAdapter를 상속하고 AddFormatters 메소드에서 구성합니다.
@ConfigurationPublic 클래스 WebMvcConfig 확장 webmvcconfigureradapter {@override public void addformaths (formatterregistry registry) {registry.addconverter (new dateConverter ()); }}자, 위의 두 단계 후에는 프론트 엔드에서 문자열 날짜를 받고 Java의 날짜 개체로 변환 할 수 있습니다. 프론트 엔드 데이트 제어는 다음과 같습니다.
<el-date-picker v-model = "emp.birthday"size = "mini"value-format = "yyyy-mm-dd hh : mm : ss"type = "date"자리 표시기 = "생년월일"> </el-date-picker>
서버 인터페이스는 다음과 같습니다.
@requestmapping (value = "/emp", method = requestmethod.post) public respbean addemp (Employee Employee) {if (empservice.addemp (Employee) == 1) {return new respbean ( "성공", "성공!"); } New Respbean ( "ERROR", "ADD 실패!");} 반환직원에게 생일이라는 속성이 있으며이 속성의 데이터 유형은 날짜입니다.