English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Thymeleaf هي مكتبة Java مفتوحة المصدر وفقًا لـ Apache License 2.0 الحصول على ترخيص. هذا هو HTML5/XHTML/XML محرك النموذج. إنه يُستخدم في بيئات الويب (قائمة على Servlet) وغير الويب (غير متصلة بالإنترنت) نموذج Java على الجانب الخلفيمحرك النموذج. بالنسبة لتطوير الويب JVM HTML5 الحديث، فهو خيار مثالي. يوفر دمجًا كاملاً مع Spring Framework.
يطبق مجموعة من التحويلات على ملف النموذج لعرض البيانات أو النصوص التي أنشأها التطبيق. مناسب لتقديم XHTML/HTML5 في تطبيقات الويب.
يهدف Thymeleaf إلى تقديم موضةو جيد النمططريقة إنشاء النموذج. إنه يعتمد على علامات XML وخصائصها. تعريف هذه العلامات DOM (نموذج الكائن للوثيقة) تنفيذ منطق مسبق التحديد، وليس كتابة هذا المنطق ككود صريح في النموذج. وهو بديل عن JSP .
يسمح نظام Thymeleaf بتخصيص التemplate سرعة معالجة، اعتمادًا على ملفات التحقق المحفوظة. يستخدم أقل عمليات I/O أثناء التنفيذ.
مثل JSP، يشبه HTML JSP تقريبًا. ولكن ليس متوافقًا تمامًا مع HTML مثل Thymeleaf. يمكننا فتح ملفات Thymeleaf التemplate وعرضها بشكل صحيح في المتصفح، بينما لا يمكن فتح ملفات JSP.
يدعم Thymeleaf تعبيرات المتغيرات مثل Spring EL ($ {...}) وتنفيذ (*) {...} على خصائص النموذج، و#{...} للاستخدام في الترجمة، و@{......}) لتعديل URL.
مثل JSP، يمكن استخدام Thymeleaf بشكل جيد في بريد HTML غني.
يمكن لـ Thymeleaf معالجة ستة أنواع من التemplates (ويسمى نمط التemplate) كما يلي:
XML XML صالح XHTML XHTML صالح HTML5 HTML5 القديم
بالإضافة إلى نمط HTML5 القديم، جميع الأنماط المذكورة أعلاه تشير إلى XML واضح ملف. مما يتيح لنا معالجة ملفات HTML5 تحتوي على علامات مستقلة، وأدوات إضافية دون قيمة، أو لم يكتب في قووس مفتوحة.
لمعالجة ملف بهذا النمط المحدد، سيقوم Thymeleaf بتحويل الملف إلى XML مناسبة الشكل ملف (ملف HTML5 صالح).
Thymeleaf يسمح أيضًا بتعريف نمط معين من خلال تحديد طريقتين لتحليل التemplate في هذا النمط. بهذا يمكن لـ Thymeleaf معالجة أي نموذج يمكن نماذجته كشجرة DOM كtemplate.
Thymeleaf هو محرك التemplate الذي يسمح لنا بتعريف إطار DOM للنصوص. العناصر DOM التي يتم معالجتها في التemplate.
المعادلة التي تطبق المنطق على عناصر DOM تسمى المعالج. مجموعة من معالجات بعض الأدوات الإضافية تسمى اللغة النادرة. وتسمى اللغة النادرة التي تحتوي على مكتبة Thymeleaf الأساسية بـ اللغة القياسية.
إذا أردنا استخدام ميزات المكتبة المتقدمة مع تعريف منطق معين، يمكننا تعريف لغة نادرة. لغة نادرة. في محرك التemplate، يمكننا تكوين عدة لغات نادرة في وقت واحد.
حزمة التجميع (thymeleaf-spring3 و thymeleaf-spring4) تعرف بـ SpringStandard Dialect الداليا. الداليا القياسية وSpringStandard متشابهان تقريبًا. ولكن هناك بعض التغييرات الصغيرة في الداليا القياسية يمكن أن تستفيد من بعض الميزات في إطار عمل Spring.
على سبيل المثال، يمكن استبدال OGNL القياسية لـ Thymeleaf بلغة التعبير الخاصة بـ Spring.
يمكن للداليا القياسية معالجة النماذج بكل طريقة. ولكن، إنه مثالي للأنماط القائمة على الويب (HTML5 وXHTML). يدعم ويحقق التحقق من التالي من معايير XHTML:
نسخة التحويل XHTML 1.0 XHTML 1.0 صارمة مجموعة إطارات XHTML 1.0 XHTML 1.1.
معالج الداليا القياسية هو معالج خصائص، يسمح للمتصفح بعرض ملفات النماذج HTML5/XHTML قبل معالجتها. هذا لأنها تتجاهل الخصائص الأخرى.
على سبيل المثال، عندما يستخدم ملف JSP مكتبة العلامات، يحتوي على كود لا يمكن عرضه من قبل المتصفحات التالية:
<form:inputText name="student.Name" value="${student.name}" />
يسمح لنا داليا Thymeleaf القياسية باستخدام الكود التالي لتحقيق نفس الوظيفة.
<input type="text" name="student Name" value="Thomas" th:value="${student.name}" />
الخطوط أعلاه تسمح لنا بتعريف value خصائص ( Thomas ). عند فتح النموذج في المتصفح، سيتم عرض هذه القيمة. أثناء معالجة Thymeleaf للنموذج، سيتم استبدال هذه الخاصية ب $ {student.name} بالمقابل، القيمة المكتسبة من.
يسمح للمصممين والمطورين بمعالجة. نفس ملف النموذج، يقلل من العمل المطلوب لتحويل النموذج المبدئي إلى ملف نموذج يعمل. يسمى نموذج طبيعي.
يمكن استخدامه في بيئات الشبكة وبيئات غير الشبكة. محرك قوالب Java لـ HTML5/XML/XHTML. تحسين أداء تحليل缓存 القوالب يقلل من I/O إلى الحد الأدنى. يمكن استخدامه كنموذج محرك إطار العمل إذا لزم الأمر. يدعم عدة أنماط قوالب: XML،XHTML وHTML5. يسمح للمطورين بتوسيع وتطوير دواليات مخصصة. يستند إلى مجموعة ميزات قابلة للتمديد تسمى الدواليات. يدعم التوطين.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
نخلق تطبيق Spring Boot ونImplement Thymeleaf template.
الخطوة 1: فتح Spring Initializr http://start.spring.io
الخطوة 2: اختيار إصدار Spring Boot 2.3.0.M1.
الخطوة 2: تقدم النوعالاسم. قمنا بتوفير com.w3codebox .
الخطوة 3: تقدم المنتج المعرف. قمنا بتوفير spring-boot-thymeleaf-view-example.
الخطوة 5: إضافة الاعتماد Spring Web و Thymeleaf.
الخطوة 6: النقر Generate (توليد) أزرار. عند النقر على زر "توليد"، سيقوم بتعليمة التغليف في Jar ملف، واخترعه إلى النظام المحلي.
الخطوة 7: استخراج ملف Jar وضعه في منطقة العمل STS.
الخطوة 8: استيراد مجلدات المشروع في STS.
ملف->استيراد->مشاريع Maven موجودة->استعراض->اختيار مجلد spring-boot-thymeleaf-view-example->إتمام
استيراد بعض الوقت.
الخطوة 9: في الحزمة com.w3codebox في create class. نحن نخلق فئة تُدعى فئة User.
في هذا الفئة، نحدد إثنين من المتغيرات name و email و generates Getter و Setters.
User.java
package com.w3codebox; public class User { String name; String email; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
الخطوة 10: إنشاء فئة التحكم. لقد أنشأنا فئة تحكم تُدعى DemoController فئة التحكم.
DemoController.java
package com.w3codebox; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import org.springframework.stereotype.Controller; @Controller public class DemoController { @RequestMapping("/") public String index() { return"index"; } @RequestMapping(value="/save", method=RequestMethod.POST) public ModelAndView save(@ModelAttribute User user) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("user-data"); modelAndView.addObject("user", user); return modelAndView; } }
في الخطوة التالية، سنقوم بإنشاء نموذج Thymeleaf.
الخطوة 11: في داخل النموذجفي مجلد (src/main/resources/النماذج)، أنشئ ملفًا يُدعى user-data نموذج Thymeleaf.
انقر بزر الماوس الأيمن على مجلد النمذجة -> جديد -> آخر -> ملف HTML -> الخطوة التالية -> أدخل اسم الملف -> انتهاء
<html lang="ar" xmlns:th="http://www.thymeleaf.org">
user-data.html
<html xmlns:th="https://thymeleaf.org"> <table> <tr> <td><h4>اسم المستخدم:</h4></td> <td><h4 th:text="${user.name}"></h4></td> </tr> <tr> <td><h4>معرف البريد الإلكتروني:</h4></td> <td><h4 th:text="${user.email}"></h4></td> </tr> </table> </html>
الخطوة 12: بالمثل، في مجلد النموذج، أنشئ ملفًا HTML ملف. لقد قمنا بإنشاء ملف يُدعى index ملف HTML.
index.html
<html lang="en"> <head> <title>صفحة الدخول</title> </head> <body> <form action="save" method="post"> <table> <tr> <td><label for="user-name">اسم المستخدم</label></td> <td><input type="text" name="name"></input></td> </tr> <tr> <td><label for="email">البريد الإلكتروني</label></td> <td><input type="text" name="email"></input></td> </tr> <tr> <td></td> <td><input type="submit" value="Submit"></input></td> </tr> </table> </form> </body> </html>
الخطوة 13: افتح application.properties ملف وأضف إلى ذلك الخاصيات التالية.
application.properties
spring.thymeleaf.cache=false spring.thymeleaf.suffix: .html
بعد إنشاء جميع الملفات والمجلدات والبالطبع، فإن مسار المشروع سيكون كما يلي:
لنبدأ تشغيل التطبيق.
الخطوة 14: افتح SpringBootThymeleafViewExampleApplication.java ملفًا ببرنامج تطبيقي Java.
SpringBootThymeleafViewExampleApplication.java
package com.w3codebox; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringBootThymeleafViewExampleApplication { public static void main(String[] args) { SpringApplication.run(SpringBootThymeleafViewExampleApplication.class, args); } }
الخطوة 15: الآن، افتح متصفح الويب وأدخل URL http://localhost:8080. سيتم عرض الناتج كما يلي.
تقدم اسم المستخدمو البريد الإلكترونيثم انقر إرسالالزر.
انقر إرسالالزر، وتغيير URL إلى http://localhost: 8080/save وعرض بيانات المستخدم كما يلي.
في هذا الفصل، نناقش عرض Thymeleaf. إذا كنت ترغب في جعل العرض أكثر جاذبية، يمكنك إضافة CSS و JS ملفات. يجب أن تكون هذه الملفات موجودة src/main/resources/static في مجلد.