แท็กฟอร์มที่มาพร้อมกับสปริง MVC นั้นค่อนข้างง่ายและมักจะต้องทำให้เสร็จด้วยความช่วยเหลือของ EL และ JSTL
นี่คือฟังก์ชั่นหน้าส่งแบบฟอร์มที่ค่อนข้างง่าย:
1. รุ่นผู้ใช้
แพ็คเกจ com.my.controller.bean; นำเข้า java.util.date; นำเข้า java.util.list; นำเข้า javax.validation.constraints.future; นำเข้า javax.validation.constraints.max; นำเข้า Javax.validation.constraints.min; org.hibernate.validator.constraints.email; นำเข้า org.hibernate.validator.constraints.length; นำเข้า org.hibernate.validator.constraints.NotEmpty; ผู้ใช้ระดับสาธารณะ {ID ส่วนตัวยาว; @Length (min = 2, max = 50, message = "ช่วงความยาวชื่อผู้ใช้ = 2-50") ชื่อสตริงส่วนตัว; @Future (message = "เวลาไม่น้อยกว่าวันนี้") วันที่ส่วนตัว createTime; @NotEmpty (message = "ลูกค้าไม่สามารถว่างเปล่า") รายการส่วนตัว <ลูกค้า> ลูกค้า; @NotNull (message = "สาวไม่สามารถว่างเปล่า") สาวบูลีนส่วนตัว; สตริงส่วนตัว [] CBX; @NotNull (message = "อายุไม่สามารถเป็น null") @min (value = 18, message = "ขั้นต่ำ 18 ปี") @max (value = 100, message = "สูงสุด 100 ปี") อายุ int ส่วนตัว; @Email (message = "รูปแบบอีเมลไม่ถูกต้อง") อีเมลสตริงส่วนตัว; Public Long getId () {return id; } โมฆะสาธารณะ setId (Long id) {this.id = id; } สตริงสาธารณะ getName () {ชื่อคืน; } โมฆะสาธารณะ setName (ชื่อสตริง) {this.name = name; } วันที่สาธารณะ getCreateTime () {return createTime; } โมฆะสาธารณะ setCreateTime (วันที่ createTime) {this.createTime = createTime; } รายการสาธารณะ <ลูกค้า> getCustomers () {ส่งคืนลูกค้า; } โมฆะสาธารณะ setCustomers (รายการ <ลูกค้า> ลูกค้า) {this.customers = ลูกค้า; } บูลีนสาธารณะ isgirl () {return girl; } โมฆะสาธารณะ setgirl (สาวบูลีน) {this.girl = girl; } สตริงสาธารณะ [] getCbx () {return cbx; } โมฆะสาธารณะ setcbx (สตริง [] cbx) {this.cbx = cbx; } public int getage () {return Age; } การตั้งค่าโมฆะสาธารณะ (อายุ int) {this.age = อายุ; } สตริงสาธารณะ getEmail () {ส่งคืนอีเมล; } โมฆะสาธารณะ setEmail (อีเมลสตริง) {this.email = อีเมล; - 2. คอนโทรลเลอร์
แพ็คเกจ com.my.controller; นำเข้า java.util.arraylist; นำเข้า java.util.date; นำเข้า java.util.list; นำเข้า javax.validation.valid; นำเข้า org.springframework.stereotype.controller; org.springframework.validation.fielderror; นำเข้า org.springframework.web.bind.annotation.modelattribute; นำเข้า org.springframework.web.bind.annotation.requestmapping; org.springframework.web.servlet.modelandview; นำเข้า com.my.controller.bean.customer; นำเข้า com.my.controller.bean.user;@controller@requestmapping (value = "/post") การทดสอบคลาสสาธารณะ {// ----------------------------------------------- // 设置 Entity // --------------------------------------------------- users.add (ผู้ใช้ใหม่ ()); ผู้ใช้ user = users.get (0); user.setId (1); user.setName ("Robin"); user.setCreateTime (วันที่ใหม่ ()); user.setGirl (จริง); user.setcbx (สตริงใหม่ [] {"1", "2", "3"}); user.setage (18); user.setEmail ("[email protected]"); user.setCustomers (arrayList ใหม่ <Pevery> ()); ลูกค้าลูกค้า 1 = ลูกค้าใหม่ (); ลูกค้า 1.SetId (1); ลูกค้า 1.SetCompany ("บริษัท - 1"); ลูกค้า 1.SetCreateTime (วันที่ใหม่ ()); customer1.setUser (ผู้ใช้); user.getCustomers (). เพิ่ม (ลูกค้า 1); ลูกค้าลูกค้า 2 = ลูกค้าใหม่ (); customer2.setId (1); customer2.setCompany ("บริษัท - 2"); customer2.setCreateTime (วันที่ใหม่ ()); customer2.setUser (ผู้ใช้); user.getCustomers (). เพิ่ม (customer2); } @RequestMapping Public ModelandView Index () {ModelAndView View = ใหม่ ModelAndView ("TestPost/INDEX"); View.adDobject ("ผู้ใช้", ผู้ใช้); มุมมองกลับ; } @RequestMapping (value = "/addUser", method = requestMethod.post) Public ModelandView AddUser (@ModelAttribute @Valid ผู้ใช้ผู้ใช้, ผล bindingResult) {modelAndView View = modelandView ใหม่ ("Redirect:/post"); if (result.haserrors ()) {list <fielderror> errors = result.getFielderRors (); สำหรับ (fielderror err: errors) {system.out.println ("objectName:" + err.getObjectName () + "/tfieldName:" + err.getField () + "/tfieldValue:" err.getRejectedValue () + "/tMessage:" } view.adDoBject ("ผู้ใช้", ผู้ใช้); มุมมองกลับ; } user.setId (users.size () + 1); user.getCustomers (). รับ (0) .setId (1); user.getCustomers (). รับ (0) .setUser (ผู้ใช้); users.add (ผู้ใช้); View.adDobject ("ผู้ใช้", ผู้ใช้); มุมมองกลับ; - 3. ดู
<%@ page language = "java" contentType = "ข้อความ/html; charset = utf-8" pageencoding = "utf-8"%> <%@ page import = "com.my.controller.bean.*"%> <%@ taglib uri = "http://java.sun.com/ taglib uri = "http://java.sun.com/jsp/jstl/fmt" คำนำหน้า = "fmt"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/functions uri = "http://www.springframework.org/tags" %> < %@ taglib uri = "http://www.springframework.org/tags/form" คำนำหน้า = "sf" %> "http://www.w3.org/tr/html4/loose.dtd"><html> <head> <meta http-equiv =" content-ype "content =" text/html; charset = utf-8 " action = "<st: url value ="/post/adduser "> </st: url>" method = "post"> <c: foreach items = "$ {ผู้ใช้}" var = "ผู้ใช้"> ผู้ใช้: $ {user.name} <br/> สร้างเวลา: <fmt test = "$ {user.girl}"> ใช่ </c: เมื่อ> <c: เมื่อ test = "$ {! user.girl}"> ไม่ </c: เมื่อ> <c: มิฉะนั้น> n/a </c: มิฉะนั้น> </c: เลือก> <br/> อายุ: $ {user.age} <br/> อีเมล: $ {user.email} <br/> <hr/> <table> <thead> <tr style = "text-allign: ซ้าย; พื้นหลังสี: #eee; "> <th> ชื่อ บริษัท </th> <th> ผู้ใช้ </th> <th> สร้างเวลา </th> </tr> </thead> <tbody> <c: foreach items =" $ {user.customers} "var =" รายการ "> <tr> <td> <td> $ {item.user.name} </td> <td> <fmt: formatDate value = "$ {item.createTime}" pattern = "yyyy-mm-dd"/> </td> </td> id = "name"/> <br/> เป็นผู้หญิง: <อินพุต type = "วิทยุ" ชื่อ = "girl" id = "isgirl" value = "true" ตรวจสอบ = "ตรวจสอบ"/> <label for = "isgirl"> ใช่ </label> <อินพุต type = "Radio" name = "girl" id = "nogirl type = "ช่องทำเครื่องหมาย" name = "cbx" id = "cbx1" value = "1" /> <label for "cbx1"> 1 < /label> <อินพุต type = "ช่องทำเครื่องหมาย" ชื่อ = "cbx" id = "cbx2" value = "2" /> <label for "cbx2" /> <label for = "cbx3"> 3 </label> <br/> อายุ: <อินพุตประเภท = "text" name = "age" id = "อายุ"/> <br/> อีเมล: <อินพุต type = "text" name = "email" id = "อีเมล"/> <br/> name = "ลูกค้า [0] .Company" id = "ลูกค้า [0] .Company"/> <br/> <อินพุต type = "ส่ง" value = "เพิ่ม"/> <sf: ข้อผิดพลาดเส้นทาง = "*"> </sf: ข้อผิดพลาด> </form> <hr // </body>4. ผลการทดสอบ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น