Vaadin এ URL Routing এবং Parameters একটি গুরুত্বপূর্ণ বৈশিষ্ট্য, যা আপনাকে ওয়েব অ্যাপ্লিকেশনের বিভিন্ন পেজের জন্য ডাইনামিক রাউটিং এবং প্যারামিটার ব্যবস্থাপনা করতে সাহায্য করে। এটি অ্যাপ্লিকেশনের বিভিন্ন অংশের মধ্যে নেভিগেশন এবং ডেটা পাসিং সহজ করে তোলে, যা একটি ইন্টারেক্টিভ এবং ডায়নামিক ওয়েব অ্যাপ্লিকেশন তৈরিতে সহায়ক।
URL Routing কী?
URL Routing হল একটি প্রক্রিয়া, যেখানে ওয়েব অ্যাপ্লিকেশনটি ব্যবহারকারীর নির্দিষ্ট URL অনুসারে পেজ বা ভিউ রেন্ডার করে। Vaadin-এ, URL Routing এর মাধ্যমে নির্দিষ্ট URL প্যাটার্নের উপর ভিত্তি করে ভিউ রেন্ডার করা হয়। Vaadin রাউটিং ব্যবস্থাপনা মূলত @Route অ্যানোটেশন এবং URL প্যারামিটারগুলির মাধ্যমে কাজ করে।
Vaadin এ URL Routing কিভাবে কাজ করে?
Vaadin 14 এবং তার পরবর্তী সংস্করণে, @Route অ্যানোটেশন ব্যবহার করে URL রাউটিং তৈরি করা হয়। @Route আপনাকে কোনো নির্দিষ্ট URL প্যাটার্নে একটি ক্লাস বা ভিউ যুক্ত করতে সাহায্য করে।
1. Basic URL Routing
এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে @Route অ্যানোটেশন ব্যবহার করে একটি পেজ তৈরি করা হয়েছে:
@Route("")
public class MainView extends VerticalLayout {
public MainView() {
add(new H1("Welcome to Vaadin App"));
}
}
এখানে, @Route("") ব্যবহার করে MainView ক্লাসটি অ্যাপ্লিকেশনের হোম পেজে রেন্ডার হবে। URL এর শেষে কোনো প্যারামিটার নেই, তাই এটি ডিফল্টভাবে / রুট পেইজ হিসেবে কাজ করবে।
2. Dynamic URL Routing
Vaadin-এ, URL প্যারামিটারগুলি নিয়ে ডাইনামিক রাউটিং করতে পারেন। উদাহরণস্বরূপ, যদি আপনার URL এর মধ্যে একটি ভিন্ন ভিউ বা পেজ থাকে, যেখানে আপনি কিছু ডেটা পাস করতে চান, তবে আপনি URL প্যারামিটার ব্যবহার করতে পারেন।
@Route("view/:id")
public class ViewPage extends VerticalLayout {
public ViewPage(@QueryParameter("id") String id) {
add(new H1("Viewing item with ID: " + id));
}
}
এখানে, @Route("view/:id") এর মাধ্যমে URL এর প্যারামিটার হিসেবে id নেওয়া হচ্ছে। URL এর মাধ্যমে নির্দিষ্ট আইডি পাঠালে, সেই আইডি অনুযায়ী পেজের কন্টেন্ট রেন্ডার হবে।
URL Parameters ব্যবহারের উদাহরণ
Vaadin এ URL প্যারামিটারগুলি ব্যবহারের মাধ্যমে আপনি ডাইনামিক কন্টেন্ট রেন্ডার করতে পারেন। এখানে URL প্যারামিটার হিসেবে id ব্যবহার করা হয়েছে:
@Route("profile/:userId")
public class ProfileView extends VerticalLayout {
public ProfileView(@QueryParameter("userId") String userId) {
add(new H1("User Profile for: " + userId));
// এখানে ডেটা ফেচিং বা প্রোফাইল ইনফরমেশন শো করা যাবে
}
}
এই ক্ষেত্রে, যদি URL হয় /profile/123, তাহলে userId প্যারামিটারটি "123" হবে এবং সেই অনুযায়ী প্রোফাইল ভিউ রেন্ডার হবে।
URL Parameters এবং Query Parameters
Vaadin এ, URL এর প্যারামিটার দুটি ধরনের হতে পারে:
- Path Parameters: এগুলি URL এর অংশ হিসেবে থাকে। যেমন
/profile/:userId। এখানে:userIdএকটি প্যারামিটার হিসেবে কাজ করবে। - Query Parameters: এগুলি URL এর শেষে
?চিহ্নের পর থাকে, যেমন/profile?id=123।
এখানে, @QueryParameter ব্যবহার করে আপনি URL থেকে query parameters পেতে পারেন।
@Route("search")
public class SearchView extends VerticalLayout {
public SearchView(@QueryParameter("query") String query) {
add(new H1("Search Results for: " + query));
}
}
এখানে, URL /search?query=Vaadin হলে, query প্যারামিটারটি "Vaadin" হয়ে যাবে এবং সেই অনুসারে সার্চ রেজাল্ট রেন্ডার হবে।
URL Routing এর অন্যান্য বৈশিষ্ট্য
Route Aliases: Vaadin এ
@Routeব্যবহার করে আপনি একটি ক্লাসের জন্য একাধিক রাউট তৈরি করতে পারেন। এর মাধ্যমে আপনি একাধিক URL এ একই ভিউ রেন্ডার করতে পারবেন।@Route("home") @Route("dashboard") public class DashboardView extends VerticalLayout { public DashboardView() { add(new H1("Dashboard")); } }এখানে,
/homeঅথবা/dashboardদুইটি URL রাউটের মাধ্যমে একইDashboardViewভিউ রেন্ডার হবে।Route Layout: Vaadin এ আপনি একটি
Layoutভিউ (যেমনMainLayout) তৈরি করতে পারেন, যা একাধিক পেজে শেয়ার করা যায়। এর মাধ্যমে, আপনি ন্যাভিগেশন বার, ফুটার ইত্যাদি শেয়ার করতে পারবেন।@Route("") @RouteAlias("home") public class MainView extends MainLayout { public MainView() { add(new H1("Home Page")); } }Route Guards: Vaadin এর মাধ্যমে আপনি রাউট গার্ড ব্যবহার করতে পারেন, যা ইউজারকে নির্দিষ্ট পেজে প্রবেশ করতে বাধা দিতে বা অনুমতি দিতে সাহায্য করে। এটি ইউজার অথেনটিকেশন এবং অথোরাইজেশন চেক করতে ব্যবহৃত হয়।
@Route("") public class ProtectedView extends VerticalLayout implements BeforeEnterObserver { @Override public void beforeEnter(BeforeEnterEvent event) { if (!isUserLoggedIn()) { event.rerouteTo(LoginView.class); } } private boolean isUserLoggedIn() { return false; // লগইন চেক } }
সারাংশ
Vaadin এ URL Routing এবং Parameters ব্যবহার করে, আপনি ওয়েব অ্যাপ্লিকেশনে ডাইনামিক নেভিগেশন এবং প্যারামিটারাইজড কন্টেন্ট রেন্ডারিং করতে পারেন। @Route অ্যানোটেশন এবং @QueryParameter এর মাধ্যমে আপনি URL প্যাটার্ন এবং প্যারামিটার নিয়ে কাজ করতে পারেন, যা অ্যাপ্লিকেশনের নেভিগেশন এবং ডেটা ফ্লো সহজ এবং কার্যকরী করে তোলে। URL Routing আপনাকে পেজগুলির মধ্যে সোজা নেভিগেশন এবং ডেটা পাসিং করার সুবিধা দেয়, যা উন্নত ইউজার এক্সপিরিয়েন্স (UX) তৈরি করতে সহায়তা করে।
Read more