پردازش قالب در بوت بهار: زیر کاپوت – شیرجه عمیق! 🚀

1. مقدمه – پردازش الگوی Kya Hai ye؟ Jab Bhi Hum Spring Boot Ke Saath Koi Application Web Banate Hain ، Toh Humein Pages (نمای) کارن هات هین را ارائه می دهد. صفحات AB SIRF BACKEND KA پاسخ NAHI HOTE ، BALKI UNME HTML ، CSS ، JS Hota Hai Jo Frontend Ko به درستی Karta Hai را ارائه می دهد.
چکمه بهاری
- JSP (صفحات سرور جاوا) – Purana Lekin Solid
- تیملف – مدرن ، قابل خواندن Aur Kaafi انعطاف پذیر
-
freemarker ، سرعت – KABHI از گزینه های Karne Ka Mann Kare Toh Yeh Bhi استفاده کنید!
2. جریان پردازش – Pura Magic Kaisa Hota Hai؟ Jab Bhi Hum Kisi Controller SE Koi Page Return Karte Hain (return "index";
) ، Toh Uske Peeche ek چرخه پردازش الگو Chalu Ho Jaati Hai.مرحله 1: درخواست aati hai
کاربر NE مرورگر SE KOI URL درخواست Ki Jaise:
Boot Boot Bootend PE ek Milega Jo Isko دسته Karega:
@Controller
public class HomeController {
@GetMapping("/home")
public String homePage(Model model) {
model.addAttribute("message", "Welcome to Spring Boot Templates!");
return "index"; // Yeh template engine ko dikhayega
}
}
مرحله 2: تصمیم تصمیم گیری Karega Kaunsa Load Karna Hai 🛠 پرش چکمه من نشان دهنده ka use karta hai je تصمیم می گیرد karta hai ki ye index
پرونده kaha se laani hai.
- آگار jsp از Ho Raha Hai ، Toh استفاده کنید
InternalResourceViewResolver
هوگا فعال - آگار تیملف از Ho Raha Hai ، Toh استفاده کنید
ThymeleafViewResolver
هوگا فعال
مثال:
# Agar Thymeleaf use kar rahe hain
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
# Agar JSP use kar rahe hain
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
مرحله 3: فایل موتور الگوی خواندن karega 📖
- حل کننده جو بی
index
Naam Ka Template File Milega ، Usko Uthayega. - USME JO $ {پیام} Aisa Kuch Likha Hoga ، Usko Backend Se Jo Model Mein
message
ویژگی Bheja Gaya Hai Usse جایگزین Karega. - FIR Final پردازش HTML مرورگر Ko Bhej Diya Jayega. مثال تیملیف
index.html
پرونده:
lang="en">
Thymeleaf Example
Message from Backend: th:text="${message}">
3. کلاس ها و حاشیه نویسی های داخلی – Boot Ka Backend Backend Parda Kholte Hain 🔍 Boot Ke Andar Kaafi کلاس ها ، حاشیه نویسی های Aur Resolvers Kaam Karte Hain. Chaliye Inke Kaam Samajhte Hain:
🟢 @Controller
در مقابل @RestController
– تفاوت؟ **
-
@Controller
: مشاهده بازگشت Karta Hai (JSP/Thymeleaf) -
@RestController
: به طور مستقیم JSON KARTA HAI.
مثال:
@Controller
public class PageController {
@GetMapping("https://dev.to/about")
public String aboutPage() {
return "about"; // This will look for "about.html" in templates
}
}
🟢 ViewResolver
کلاس ها – پردازش داخلی ** بوت بهار نمایشگر Ko استفاده از Karke Pata Lagata Hai Konse Engine SE Kaam Karna Hai:
موتور الگوی | مشاهده کلاس حل کننده |
---|---|
jsp | داخلی resourceviewresolver |
تیملف | thymeleafviewresolver |
فرش کننده | freemarkerviewresolver |
سرعت | VelocityViewresolver |
مثال: نمایش منبع داخلی Resolver (JSP Ke Liye)
@Bean
public InternalResourceViewResolver jspViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
مثال: Thymeleaf View Resolver
@Bean
public SpringResourceTemplateResolver templateResolver() {
SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver();
resolver.setPrefix("classpath:/templates/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML");
return resolver;
}
4 Thymeleaf JSP SE Better Hai Kyunki:
✅ خالص HTML سازگار است – JSP Ki Tarah تلفیقی Nahi Chahiye.
✅ عبارات پویا – {}
طلا th:text
عبارات Jese از Karta Hai پشتیبانی می کند.
✅ پشتیبانی قطعه – الگوهای قابل استفاده مجدد KA پشتیبانی HAI.
نمونه ای از عبارات تیملیف:
th:text="${user.name}">Default User
th:if="${age > 18}">You are an adult
th:each="name : ${names}">Hello, th:text="${name}">
5. پرونده های استاتیک (CSS ، JS) KA HANDLING – YEH KAISE LOAD HOTA HAI؟ محتوای استاتیک بهار ka src/main/resources/static/
** پوشه SE LOAD HOTA HAI.
مثال:
-
CSS :
src/main/resources/static/css/style.css
-
js :
src/main/resources/static/js/script.js
پرونده html mein:
rel="stylesheet" href="/css/style.css">
"/js/script.js">
چکمه بهاری yeh files bina kisi پردازش ke کار دتا ح.6. آیا می توانیم پردازش الگو را سفارشی کنیم؟ – بیلکول! 🔧 بله خفه کردن نمایندگان نمایش سفارشی Bhi Bana Sakte Hain. مثال:
@Bean
public ViewResolver customViewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/custom-views/");
resolver.setSuffix(".html");
return resolver;
}
الگوهای بوت بهار AB src/main/resources/custom-views/
SE LOAD KAREGA!
7. موتور KAB Kaunsa از Karein استفاده می کند؟ | سناریو | بهترین موتور الگوی |
| — | — |
| ارائه HTML ساده | Thymeleaf |
| صفحات پویا سمت سرور (برنامه های میراث) | JSP |
| json apis (بدون UI) | RestController + Frontend (واکنش ، زاویه ای) |
| رندر UI با کارایی بالا | React ، Vue ، Angular (بدون الگوی مورد نیاز) |
8. نتیجه گیری – Kya seekha aaj؟
- بوت بهار alag-aalag موتورهای الگوی KO PROCESS KARTA HAI.
- نمایشگر الگوهای Ko Karte Hain را پیدا می کنند.
- Thymeleaf بهترین گزینه HAI JSP Se zyada قابل خواندن Hone Ke Wajah SE.
- پرونده های استاتیک پرونده های استاتیک
/static/
پوشه SE خدمت کنید هاتی هین - خفه کردن وضوح سفارشی bana sakte hain apne موارد خاص استفاده ke liye.
راهنمای Agar aapko Samajh aayi ho ya nahi bhi aayi ، Toh Bhi EK BAR CODE LIKE KE DEKHNA با سماج aajayegi!
برنامه نویسی مبارک! 🚀