รู้เบื้องต้นเกี่ยวกับ thymeleaf
พูดง่ายๆคือ Thymeleaf เป็นเครื่องยนต์เทมเพลตที่คล้ายกับความเร็วและ freemarker ซึ่งสามารถแทนที่ JSP ได้อย่างสมบูรณ์ เมื่อเทียบกับเครื่องยนต์เทมเพลตอื่น ๆ มันมีคุณสมบัติที่น่าสนใจสามอย่างต่อไปนี้:
1. Thymeleaf สามารถทำงานในสภาพแวดล้อมที่มีหรือไม่มีเครือข่ายนั่นคือช่วยให้ศิลปินสามารถดูเอฟเฟกต์คงที่ของหน้าเว็บในเบราว์เซอร์และยังช่วยให้โปรแกรมเมอร์ดูเอฟเฟกต์หน้าแบบไดนามิกด้วยข้อมูลบนเซิร์ฟเวอร์ นี่เป็นเพราะรองรับต้นแบบ HTML จากนั้นเพิ่มแอตทริบิวต์เพิ่มเติมลงในแท็ก HTML เพื่อให้ได้วิธีการแสดงผลของแม่แบบ + ข้อมูล เมื่อเบราว์เซอร์ตีความ HTML แอตทริบิวต์แท็กที่ไม่ได้กำหนดจะถูกละเว้นดังนั้นเทมเพลตของ thymeleaf สามารถทำงานแบบคงที่; เมื่อข้อมูลถูกส่งกลับไปยังหน้าแท็ก thymeleaf จะแทนที่เนื้อหาแบบคงที่แบบไดนามิกทำให้หน้าจอแสดงผลแบบไดนามิก
2. Thymeleaf อยู่นอกกรอบ มันมีสองภาษา: มาตรฐานมาตรฐานและสปริง คุณสามารถใช้เทมเพลตโดยตรงเพื่อให้ได้เอฟเฟกต์การแสดงออกของ JSTL และ OGNL โดยหลีกเลี่ยงปัญหาในการใส่เทมเพลต JSTL และการเปลี่ยนแท็กทุกวัน ในเวลาเดียวกันนักพัฒนายังสามารถขยายและสร้างภาษาถิ่นที่กำหนดเอง
3.ThyMeleaf ให้บริการภาษาสปริงมาตรฐานและโมดูลเสริมที่รวมเข้ากับ SpringMVC อย่างสมบูรณ์แบบซึ่งสามารถใช้งานการเชื่อมโยงแบบฟอร์มตัวแก้ไขแอตทริบิวต์ได้อย่างรวดเร็วสากลและฟังก์ชั่นอื่น ๆ
วิธีการอัปโหลดแบบฟอร์ม:
// html: <form enctype = "multipart/form-data" method = "post" action = "/sell/imageUpload"> <div> <button type = "ปุ่ม" data-dismiss = "modal" aria-hidden = "true"> </button> <h4 id = "mymodallabel" id = "edit_name" value = "$ {goods.name}" name = "name"/> </div> <div> <dable> รหัส: </label> <อินพุต id = "edit_sn" name = "sn" value = "$ {goods.sn}" value = "$ {goods.weight}"/> </div> <div> <dable> ตลาดเสนอราคา: </label> <อินพุต id = "edit_marketprice" name = "MarketPrice" value = "$ {goods.marketprice}"/> </div> value = "$ {goods.shopprice}"/> </div> <div> <dable> หน่วย: </label> <อินพุต id = "edit_unit" name = "unit" value = "$ {goods.unit}"/> </div> <dable> <!-<ฟอร์ม enctype = "multipart/form-data" method = "post" action = "/sell/imageUpload"> <อินพุต ype = "hidden" id = "edit_goods_sn" name = "sn" value = "$ {goods.sn}"/>-> value = "upload"/> <!-</form>-> </div> </div> <div> <divers type = "ปุ่ม" data-dismiss = "modal"> ปิด </button> <อินพุตประเภท = "ส่ง" id = "edit_save" value = "ส่ง" saveGoodSpage (@RequestParam (value = "id", จำเป็น = false) id id,@requestParam (value = "name", ต้องการ = false) ชื่อสตริง,@requestParam (value = "sn", string (@Rale = ค่า@value = "number" "MarketPrice", จำเป็น = FALSE) String Marketprice, @requestParam (value = "ShopPrice", จำเป็น = false) สตริง shopprice, @RequestParam (value = "unit", {{value) {{{{{{{{{{file) ไฟล์ {value = bufferedOutputStream out = new bufferedOutputStream (ใหม่ fileOutputStream (ไฟล์ใหม่ ("SRC/Main/Resources/Static/Images/Product/" + SN + ".jpg"))); // บันทึกภาพไปยังไดเรกทอรี out.write (file.getBytes ()); out.flush (); out.close (); string filename = "/// images /// product ////" + sn + ".jpg"; /*user.settupian(filename); //userrepository.save(user );//add ผู้ใช้*/} catch (filenotfoundexception e) {e.printstacktrace (); ส่งคืน "อัพโหลดข้อผิดพลาด" + e.getMessage (); } catch (ioexception e) {e.printstacktrace (); ส่งคืน "อัพโหลดข้อผิดพลาด" + e.getMessage (); }} //... การดำเนินการอื่น ๆ }ภาคผนวก: มีความแตกต่างระหว่างนิพจน์ตัวแปรและการแสดงออกของเครื่องหมายดอกจันหรือไม่?
ไม่มีความแตกต่างระหว่างทั้งสองโดยไม่คำนึงถึงบริบท การประเมินไวยากรณ์ของ Asterisk แสดงบนวัตถุที่เลือกไม่ใช่บริบททั้งหมดวัตถุที่เลือกคืออะไร? มันเป็นค่าของแท็กหลักดังนี้:
<div th: object = "$ {session.user}"> <p> ชื่อ: <span th: text = "*{firstName}"> sebastian </span>. </p> <p> นามสกุล: <span th: text = "*{lastName}" th: text = "*{สัญชาติ}"> ดาวเสาร์ </span>. </p> </div>สิ่งนี้เทียบเท่ากับ:
<div th: object = "$ {session.user}"> <p> ชื่อ: <span th: text = "$ {session.user.firstname}"> Sebastian </span>. </p> <p> นามสกุล: <span th: text = "$ {session.lastname th: text = "$ {session.user.nationality}"> ดาวเสาร์ </span>. </p> </div>แน่นอนว่าสัญญาณดอลลาร์และไวยากรณ์เครื่องหมายดอกจันสามารถผสมได้:
<div th: object = "$ {session.user}"> <p> ชื่อ: <span th: text = "*{firstName}"> sebastian </span>. </p> <p> นามสกุล: <span th: text = "$ {user.lastname}" th: text = "*{สัญชาติ}"> ดาวเสาร์ </span>. </p> </div>สรุป
ข้างต้นคือขั้นตอนการดำเนินการสำหรับการอัปโหลดภาพสปริงบูท thymeleaf ให้คุณ ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!