مقدمة إلى Thymeleaf
ببساطة ، Thymeleaf هو محرك قالب مشابه للسرعة وعلامة الجاذبية ، والتي يمكن أن تحل محل JSP بالكامل. بالمقارنة مع محركات القالب الأخرى ، فإنه يحتوي على الميزات الثلاثة التالية الجذابة للغاية:
1. يمكن تشغيل thymelef في بيئة مع أو بدون شبكة ، أي أنه يسمح للفنانين بعرض التأثيرات الثابتة للصفحات في المتصفح ، كما يسمح للمبرمجين بعرض تأثيرات الصفحة الديناميكية مع البيانات على الخادم. هذا لأنه يدعم النماذج الأولية HTML ، ثم يضيف سمات إضافية إلى علامة HTML لتحقيق طريقة عرض القوالب + بيانات. عندما يفسر المتصفح HTML ، سيتم تجاهل سمات العلامات غير المحددة ، لذلك يمكن تشغيل قالب Thymeleaf بشكل ثابت ؛ عندما يتم إرجاع البيانات إلى الصفحة ، ستحل علامة Thymeleaf إلى استبدال المحتوى الثابت ديناميكيًا ، مما يجعل عرض الصفحة ديناميكيًا.
2. Thymeleaf خارج الصندوق. يوفر لهجتين: قياسي قياسي وربيعي. يمكنك تطبيق قوالب مباشرة لتحقيق تأثيرات التعبير JSTL و ognl ، وتجنب مشكلة وضع القوالب ، و JSTL ، وتغيير العلامات كل يوم. في الوقت نفسه ، يمكن للمطورين أيضًا توسيع وإنشاء لهجات مخصصة.
3. يوفر Thymeleaf لهجة الربيع القياسية ووحدة اختيارية متكاملة تمامًا مع SpringMVC ، والتي يمكن أن تنفذ بسرعة ربط النماذج ومحرر السمات والتدويل والوظائف الأخرى.
طريقة تحميل نموذج:
// html: <form enctype = "multipart/form-data" method = "post" action = "/sell/imageupload"> <viv> <button type = "button" data-dismiss = "modal" aria-hidden = "true"> </button> <h4 id = "mymodallabel" id = "edit_name" value = "$ {goods.name}" name = "name"/> </div> <viv> <siv> code: </label> <input id = "edit_sn" name = "sn" value = "$ {goods.sn}"/> </viv> <blize> </sably </splint value = "$ {goods.weight}"/> </viv> <viv> <blable> marketPrice: </billy> <input id = "edit_marketprice" name = "marketprice" value = "$ {gods.marketprice}"/> </viv> <vile> value = "$ {goods.shopprice}"/> </div> <viv> <blabe> الوحدة: </label> <input id = "edit_unit" name = "united" value = "$ {goods.unit}"/> </viv> <div> <div> number> number> </inpult id = <!-<form enctype = "multipart/form-data" method = "post" action = "/sell/imageupload"> <input ype = "hidden" id = "edit_goods_sn" name = "sn" value = "$ {goods.sn}"/>-> imput < value = "upload"/> <!-</form>-> </viv> </viv> <viv> <button type = "button" data-dismiss = "modal"> inting </button> <input type = "submit" id = "edit_save" value = "request". SaveGoodSpage (@requestparam (value = "id" ، مطلوب = خطأ) معرف السلسلة ،@requestParam (value = "name" ، مطلوب = خطأ) اسم السلسلة ،@requestparam (value = "sn" ، مطلوب = false) String SN ،@requestparam (value = "number" ، مطلوب = خطأ) ،@requestparam (value = " "MarketPrice" ، مطلوب = false) String MarketPrice ، @requestParam (value = "ShopPrice" ، مطلوب = false) String ShopPrice ، @requestparam (value = "unit" ، مطلوب = false) وحدة السلسلة ، requestparam (value = "التفاصيل" ، مطلوب = false) تفاصيل السلسلة ، @requestparam (value = "file" multipartfile) BufferEdoutputStream Out = جديد BufferedOutputStream (FileOutputStream جديد (ملف جديد ("SRC/MAIN/ROSECTION/STATIC/IMORTS/" + SN + ".JPG"))) ؛ // حفظ الصورة إلى الدليل Out.write (file.getbytes ()) ؛ out.flush () ؛ out.close () ؛ filename string = "/// images /// product ///" + sn + ".jpg" ؛ /* user.settupian(filename) ؛ //userrepository.save(user) ؛//add user*/} catch (fileNotFoundException e) {E.PrintStackTrace () ؛ إرجاع "خطأ التحميل" ، + e.getMessage () ؛ } catch (ioException e) {E.PrintStackTrace () ؛ إرجاع "خطأ تحميل" + E.GetMessage () ؛ }} //...Oly Operations}الملحق: هل هناك أي فرق بين التعبيرات المتغيرة والتعبيرات النجمية؟
لا يوجد فرق بين الاثنين دون النظر في السياق ؛ يتم التعبير عن تقييم بناء جملة النجمة على الكائن المحدد ، وليس السياق بأكمله ما هو الكائن المحدد؟ إنها قيمة العلامة الأصل ، على النحو التالي:
<div th: object = "$ {session.user}"> <p> الاسم: <span th: text = "*{firstName}"> sebastian </span>. </p> <p> surname: <span th: text = "*{lastName}" TH: text = "*{nunsyality}"> Saturn </span>. </p> </viv>هذا يعادل بالضبط:
<div th: object = "$ {session.user}"> <p> الاسم: <span th: text = "$ {session.user.firstname}"> sebastian </span>. </p> <p> surnmal: <span th: text = "$ {session.user.lastname}"> pepper </p> TH: text = "$ {session.user.national}"> Saturn </span>. </p> </viv>بالطبع ، يمكن خلط علامة الدولار وبناء جملة النجمة:
<div th: object = "$ {session.user}"> <p> الاسم: <span th: text = "*{firstName}"> sebastian </span>. </p> <p> surnam TH: text = "*{nunsyality}"> Saturn </span>. </p> </viv>لخص
ما سبق هو خطوات التشغيل لتحميل صورة Thymeleaf Boot Spring لك. آمل أن يكون ذلك مفيدًا لك. إذا كان لديك أي أسئلة ، فيرجى ترك رسالة لي وسوف يرد المحرر إليك في الوقت المناسب. شكرا جزيلا لدعمكم لموقع wulin.com!