ภายใต้สถานการณ์ปกติพารามิเตอร์ที่ส่งผ่านโดยส่วนหน้าสามารถได้รับโดยตรงจาก SpringMVC แต่จะมีบางกรณีพิเศษเช่นวัตถุวันที่ เมื่อวันที่ถูกส่งจากส่วนหน้าของฉันเซิร์ฟเวอร์จำเป็นต้องปรับแต่งพารามิเตอร์ที่มีผลผูกพันและแปลงวันที่ส่วนหน้า การผูกพารามิเตอร์ที่กำหนดเองนั้นง่ายมากและแบ่งออกเป็นสองขั้นตอน:
1. ตัวแปลงพารามิเตอร์ที่กำหนดเอง
ตัวแปลงพารามิเตอร์แบบกำหนดเองใช้อินเทอร์เฟซตัวแปลงดังนี้:
Dateconverter คลาสสาธารณะใช้ Converter <String, Date> {Private SimpledateFormat SimpledateFormat = new SimpledateFormat ("yyyy-mm-dd"); @Override วันที่สาธารณะแปลง (สตริง s) {if ("" .Equals (s) || s == null) {return null; } ลอง {return simpledateFormat.parse (s); } catch (parseexception e) {e.printstacktrace (); } return null; -วิธีการแปลงได้รับพารามิเตอร์สตริงซึ่งเป็นสตริงวันที่ที่ส่งจากส่วนหน้า สตริงนี้เป็นไปตามรูปแบบ YYYY-MM-DD จากนั้นแปลงสตริงนี้เป็นวัตถุวันที่และส่งคืนผ่าน SimpleDateFormat
2. กำหนดค่าตัวแปลง
custom webmvcconfig สืบทอด webmvcconfigureradapter และกำหนดค่าในวิธี addformatters:
@ConfigurationPublic คลาส WebMVCCONFIG ขยาย WebMVCCONFigurerAdapter {@Override โมฆะสาธารณะ AddFormatters (FormatterRegistry Registry) {registry.addconverter (Dateconverter ใหม่ ()); -ตกลงหลังจากสองขั้นตอนข้างต้นเราสามารถรับสตริงวันที่จากส่วนหน้าและแปลงเป็นวัตถุวันที่ใน Java การควบคุมวันที่ส่วนหน้ามีดังนี้:
<el-date-picker v-model = "emp.birthday" size = "mini" format-format = "yyyy-mm-dd hh: mm: ss" type = "วันที่" placeholder = "วันเดือนปีเกิด"> </el-date-picker>
อินเทอร์เฟซเซิร์ฟเวอร์มีดังนี้:
@RequestMapping (value = "/emp", method = requestMethod.post) Respbean Addemp สาธารณะ (พนักงานพนักงาน) {ถ้า (empservice.addemp (พนักงาน) == 1) {ส่งคืน Respebean ใหม่ ("ประสบความสำเร็จ" เพิ่มความสำเร็จ! "); } ส่งคืน Respbean ใหม่ ("ข้อผิดพลาด", "เพิ่มล้มเหลว!");}มีคุณลักษณะที่เรียกว่าวันเกิดในพนักงานและประเภทข้อมูลของแอตทริบิวต์นี้เป็นวันที่