Spring MVC তে HTML ফর্ম ব্যবহার করে ডেটা সার্ভারে পাঠানো এবং তারপর সেটি প্রসেস করা একটি সাধারণ প্রক্রিয়া। ফর্মের মাধ্যমে পঠানো ডেটা সাধারণত HTTP POST রিকোয়েস্ট হিসেবে পাঠানো হয়, এবং Spring MVC কন্ট্রোলার সেই ডেটা প্রসেস করে প্রয়োজনীয় পদক্ষেপ নেয়।
এখানে আমরা HTML ফর্ম তৈরি, ডেটা Spring MVC কন্ট্রোলারে প্রক্রিয়া করা এবং সার্ভার থেকে ক্লায়েন্টে প্রতিক্রিয়া ফেরত দেওয়ার উদাহরণ দেখব।
ধাপ ১: HTML ফর্ম তৈরি করা
প্রথমে একটি HTML ফর্ম তৈরি করতে হবে যা ব্যবহারকারীর ইনপুট নেয়। এই ফর্মটি সাধারণত GET বা POST HTTP মেথড ব্যবহার করে ডেটা সার্ভারে পাঠায়।
form.html (এটি src/main/resources/static/ ফোল্ডারে রাখতে হবে)
<!DOCTYPE html>
<html>
<head>
<title>Spring MVC Form Example</title>
</head>
<body>
<h2>Enter Your Details</h2>
<form action="/submit" method="POST">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<br><br>
<button type="submit">Submit</button>
</form>
</body>
</html>
এখানে:
action="/submit": ফর্মের ডেটা/submitURL এ পাঠানো হবে।method="POST": HTTP POST মেথডের মাধ্যমে ডেটা পাঠানো হবে।nameএবংemail: ইউজারের ইনপুট ফিল্ড, যা সার্ভারে পাঠানো হবে।
ধাপ ২: Spring MVC কন্ট্রোলার তৈরি করা
Spring MVC কন্ট্রোলার তৈরি করে HTML ফর্ম থেকে পাঠানো ডেটা প্রসেস করা যায়। এখানে আমরা @RequestMapping বা @PostMapping অ্যানোটেশন ব্যবহার করে রিকোয়েস্ট হ্যান্ডলিং করবো।
FormController.java
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.ui.Model;
@Controller
public class FormController {
// Display the form when accessing /form URL
@GetMapping("/form")
public String showForm() {
return "form"; // Return the view name (form.html)
}
// Handle the form submission
@PostMapping("/submit")
public String submitForm(@RequestParam("name") String name,
@RequestParam("email") String email,
Model model) {
// Process the data (e.g., saving it to the database or using it in the application)
model.addAttribute("name", name);
model.addAttribute("email", email);
// Send a success message back to the user
return "result"; // Return the view name (result.html)
}
}
এখানে:
@GetMapping("/form"):/formURL এ গেলে ফর্ম প্রদর্শিত হবে।@PostMapping("/submit"): ফর্ম সাবমিট করার পর, ডেটা/submitURL এ POST করা হবে। এখানে@RequestParamব্যবহার করে ফর্মের ইনপুটগুলি ক্লিয়ার করা হয়েছে।
ধাপ ৩: Result Page তৈরি করা
এখন, ডেটা প্রক্রিয়া হওয়ার পরে ব্যবহারকারীকে একটি সফল পৃষ্ঠা দেখানোর জন্য একটি result.html তৈরি করা হবে।
result.html (এটি src/main/resources/templates/ ফোল্ডারে রাখতে হবে)
<!DOCTYPE html>
<html>
<head>
<title>Form Submission Result</title>
</head>
<body>
<h2>Form Submission Successful!</h2>
<p>Name: <span th:text="${name}"></span></p>
<p>Email: <span th:text="${email}"></span></p>
</body>
</html>
এখানে:
th:text="${name}"এবংth:text="${email}": Spring MVC এর Thymeleaf টেমপ্লেট ইঞ্জিন ব্যবহার করে মডেল থেকে প্রাপ্ত ডেটা ভিউতে প্রদর্শিত হয়।
ধাপ ৪: Spring Boot Main Application Class
Spring Boot অ্যাপ্লিকেশন চালানোর জন্য একটি main ক্লাস তৈরি করুন।
SpringMvcApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringMvcApplication {
public static void main(String[] args) {
SpringApplication.run(SpringMvcApplication.class, args);
}
}
এটি Spring Boot অ্যাপ্লিকেশন চালু করবে।
ধাপ ৫: প্রজেক্ট রান করা
Spring Boot অ্যাপ্লিকেশন রান করতে নিচের কমান্ড ব্যবহার করুন:
mvn spring-boot:run
এটি অ্যাপ্লিকেশন শুরু করবে এবং আপনি http://localhost:8080/form URL তে গিয়ে ফর্ম দেখতে পারবেন।
ধাপ ৬: ফর্ম ব্যবহার করে ডেটা পাঠানো
- আপনার ব্রাউজারে
http://localhost:8080/formURL এ যান। - ফর্মে আপনার নাম এবং ইমেইল প্রবেশ করুন।
- ফর্ম সাবমিট করার পরে,
/submitURL এ ডেটা পাঠানো হবে এবং Spring MVC কন্ট্রোলার ডেটা প্রসেস করে একটিresult.htmlপৃষ্ঠা প্রদর্শন করবে, যেখানে আপনি আপনার ইনপুট করা ডেটা দেখতে পাবেন।
উপসংহার
Spring MVC তে HTML ফর্মের মাধ্যমে ডেটা পাঠানো এবং প্রসেস করা একটি মৌলিক কিন্তু অত্যন্ত গুরুত্বপূর্ণ ফিচার। এই প্রক্রিয়াটি সহজেই ক্লায়েন্ট-সার্ভার ইন্টারঅ্যাকশন তৈরি করতে সাহায্য করে। Spring MVC কন্ট্রোলার ব্যবহার করে ফর্মের ডেটা গ্রহণ, প্রক্রিয়া এবং ভিউতে উপস্থাপন করা যায়। Spring Boot এর সাথে এই কার্যপ্রণালীটি খুবই সহজ এবং দ্রুত প্রয়োগ করা যায়।
Read more