JavaServer Faces (JSF) হলো Java ভিত্তিক একটি সার্ভার-সাইড ফ্রেমওয়ার্ক, যা ব্যবহারকারীর ইন্টারফেস (UI) তৈরি এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। JSF মূলত ডেভেলপারদের জন্য একটি স্ট্যান্ডার্ড পদ্ধতি প্রদান করে, যা মডেল-ভিউ-কন্ট্রোলার (MVC) প্যাটার্নের মাধ্যমে ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টকে সহজ করে। JSF কম্পোনেন্ট-ভিত্তিক, যেখানে UI কম্পোনেন্টগুলো পুনরায় ব্যবহারযোগ্য এবং কাস্টমাইজেবল।
JSF এ কাজ করার জন্য একটি ফেইসেস কনফিগারেশন (faces-config.xml) ফাইল প্রয়োজন, যা JSF কম্পোনেন্টগুলো এবং নেভিগেশন মডেলের সাথে কাজ করে। JSF-এর কাজের ধাপগুলো নিম্নরূপ:
JSF এ বিভিন্ন UI কম্পোনেন্ট রয়েছে, যা h:
এবং f:
নামে ট্যাগলিব (taglib) দ্বারা নির্দেশিত হয়। সাধারণ JSF ট্যাগসমূহের মধ্যে রয়েছে:
নিচে একটি JSF পেজের উদাহরণ দেওয়া হলো, যেখানে একটি ফর্মে ব্যবহারকারীর নাম নেয়া হয়েছে এবং সেই নাম প্রদর্শন করা হয়েছে।
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>JSF Example</title>
</h:head>
<h:body>
<h:form>
<h:outputText value="Enter your name:" />
<h:inputText value="#{userBean.name}" />
<h:commandButton value="Submit" action="#{userBean.submit}" />
</h:form>
<h:outputText value="Hello, #{userBean.name}!" rendered="#{not empty userBean.name}" />
</h:body>
</html>
বিবরণ:
h:inputText
ট্যাগে userBean.name
প্রোপার্টি বাইন্ড করা হয়েছে।h:commandButton
সাবমিট বাটন হিসেবে ব্যবহৃত হয়েছে এবং userBean.submit
মেথড কল করা হয়েছে।h:outputText
ব্যবহার করে সাবমিটের পরে ইউজারের নাম প্রদর্শন করা হয়েছে।import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class UserBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String submit() {
return "success"; //নেভিগেশন কন্ট্রোলার (নেভিগেট পেজের নাম বা ফলাফল হিসেবে ফিরে আসে)
}
}
বিবরণ:
@ManagedBean
দিয়ে UserBean
ক্লাসটি একটি JSF বীন হিসেবে চিহ্নিত করা হয়েছে।name
প্রোপার্টি inputText
এর সাথে বাইন্ড করা হয়েছে, এবং submit
মেথড একটি স্ট্রিং success
রিটার্ন করেছে, যা সাধারণত নেভিগেশনের জন্য ব্যবহৃত হয়।JSF অ্যাপ্লিকেশন বিভিন্ন ধাপে কাজ করে, যা JSF লাইফসাইকেল নামে পরিচিত। JSF লাইফসাইকেলের প্রধান ধাপগুলো হলো:
ট্যাগ | বিবরণ |
---|---|
h:form | একটি ফর্ম তৈরি করতে ব্যবহৃত। |
h:inputText | টেক্সট ইনপুট নেওয়ার জন্য ব্যবহৃত। |
h:commandButton | সাবমিট বা ক্লিকযোগ্য বোতাম। |
h:outputText | আউটপুট টেক্সট প্রদর্শনের জন্য ব্যবহৃত। |
f:ajax | AJAX ইভেন্ট ম্যানেজমেন্টের জন্য ব্যবহৃত। |
JSF ব্যবহার করে বড়, জটিল এবং এন্টারপ্রাইজ-লেভেল ওয়েব অ্যাপ্লিকেশন তৈরি করা যায়, যা Java ভিত্তিক ওয়েব অ্যাপ্লিকেশনের জন্য একটি শক্তিশালী সমাধান।