JSF (JavaServer Faces) ফ্রেমওয়ার্কে SelectOne এবং SelectMany কম্পোনেন্টগুলি ড্রপডাউন এবং চেকবক্সগুলির মতো ইউজার ইন্টারফেস (UI) উপাদান তৈরি করতে ব্যবহৃত হয়। এই কম্পোনেন্টগুলি ব্যবহারকারীদের এক বা একাধিক অপশন নির্বাচন করার সুযোগ দেয়।
SelectOne Component
SelectOne কম্পোনেন্ট একক নির্বাচনযোগ্য ড্রপডাউন তৈরি করতে ব্যবহৃত হয়। এর মাধ্যমে ব্যবহারকারী একটি একক অপশন নির্বাচন করতে পারে। এটি সাধারণত <h:selectOneMenu>, <h:selectOneRadio>, এবং <h:selectOneListbox> ট্যাগের মাধ্যমে কনফিগার করা হয়।
উদাহরণ: <h:selectOneMenu> (ড্রপডাউন)
<h:form>
<h:outputLabel for="color" value="Select Color:" />
<h:selectOneMenu value="#{bean.selectedColor}" id="color">
<f:selectItem itemLabel="Red" itemValue="red" />
<f:selectItem itemLabel="Green" itemValue="green" />
<f:selectItem itemLabel="Blue" itemValue="blue" />
</h:selectOneMenu>
<h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>
এখানে:
h:selectOneMenu: একটি ড্রপডাউন মেনু তৈরি করে।f:selectItem: ড্রপডাউন আইটেম যোগ করতে ব্যবহৃত হয়।value="#{bean.selectedColor}": Managed Bean থেকে নির্বাচিত মান নিয়ে আসে।
Managed Bean:
@ManagedBean
@RequestScoped
public class ColorBean {
private String selectedColor;
public String getSelectedColor() {
return selectedColor;
}
public void setSelectedColor(String selectedColor) {
this.selectedColor = selectedColor;
}
public String submit() {
// প্রক্রিয়া করার জন্য নির্বাচিত রঙ ব্যবহার করুন
return "resultPage"; // পেজ নেভিগেশন
}
}
এখানে, selectedColor হল Managed Bean এর প্রোপার্টি যা ইউজারের নির্বাচিত রঙ সংরক্ষণ করবে।
উদাহরণ: <h:selectOneRadio> (রেডিও বাটন)
<h:form>
<h:outputLabel for="color" value="Select Color:" />
<h:selectOneRadio value="#{bean.selectedColor}" id="color">
<f:selectItem itemLabel="Red" itemValue="red" />
<f:selectItem itemLabel="Green" itemValue="green" />
<f:selectItem itemLabel="Blue" itemValue="blue" />
</h:selectOneRadio>
<h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>
এখানে, <h:selectOneRadio> ব্যবহার করে রেডিও বাটন তৈরি করা হয়, যার মাধ্যমে ব্যবহারকারী শুধুমাত্র একটিকে নির্বাচন করতে পারবেন।
SelectMany Component
SelectMany কম্পোনেন্ট একাধিক নির্বাচনযোগ্য আইটেম তৈরি করতে ব্যবহৃত হয়। এটি সাধারণত Checkboxes বা Multiple Select Listbox এর মাধ্যমে ব্যবহার করা হয়। এর মাধ্যমে ব্যবহারকারী একাধিক অপশন নির্বাচন করতে পারেন।
উদাহরণ: <h:selectManyCheckbox> (চেকবক্স)
<h:form>
<h:outputLabel for="colors" value="Select Colors:" />
<h:selectManyCheckbox value="#{bean.selectedColors}" id="colors">
<f:selectItem itemLabel="Red" itemValue="red" />
<f:selectItem itemLabel="Green" itemValue="green" />
<f:selectItem itemLabel="Blue" itemValue="blue" />
</h:selectManyCheckbox>
<h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>
এখানে:
h:selectManyCheckbox: একাধিক চেকবক্স তৈরি করে।value="#{bean.selectedColors}": Managed Bean এ নির্বাচিত রঙগুলোর তালিকা সংরক্ষণ করবে।
Managed Bean:
@ManagedBean
@RequestScoped
public class ColorBean {
private List<String> selectedColors;
public List<String> getSelectedColors() {
return selectedColors;
}
public void setSelectedColors(List<String> selectedColors) {
this.selectedColors = selectedColors;
}
public String submit() {
// নির্বাচিত রঙগুলো প্রক্রিয়া করুন
return "resultPage"; // পেজ নেভিগেশন
}
}
এখানে, selectedColors হল একটি লিস্ট যা একাধিক রঙের মান সংরক্ষণ করে।
উদাহরণ: <h:selectManyListbox> (মাল্টিপল সিলেক্ট লিস্ট)
<h:form>
<h:outputLabel for="colors" value="Select Colors:" />
<h:selectManyListbox value="#{bean.selectedColors}" id="colors">
<f:selectItem itemLabel="Red" itemValue="red" />
<f:selectItem itemLabel="Green" itemValue="green" />
<f:selectItem itemLabel="Blue" itemValue="blue" />
</h:selectManyListbox>
<h:commandButton value="Submit" action="#{bean.submit}" />
</h:form>
এখানে, <h:selectManyListbox> ব্যবহার করে মাল্টিপল সিলেক্ট লিস্টবক্স তৈরি করা হয়েছে, যেখানে ব্যবহারকারী একাধিক অপশন নির্বাচন করতে পারবেন।
SelectOne এবং SelectMany এর মধ্যে পার্থক্য
- SelectOne: একক অপশন নির্বাচন করার জন্য ব্যবহৃত হয় (যেমন ড্রপডাউন, রেডিও বাটন)।
- SelectMany: একাধিক অপশন নির্বাচন করার জন্য ব্যবহৃত হয় (যেমন চেকবক্স, মাল্টিপল সিলেক্ট লিস্টবক্স)।
সারাংশ
JSF এর SelectOne এবং SelectMany কম্পোনেন্টগুলি ব্যবহারকারীদের একক বা একাধিক অপশন নির্বাচন করার সুযোগ দেয়। SelectOne সাধারণত ড্রপডাউন এবং রেডিও বাটনের জন্য ব্যবহৃত হয়, যেখানে ব্যবহারকারী একটি অপশন নির্বাচন করতে পারেন। অন্যদিকে, SelectMany চেকবক্স বা মাল্টিপল সিলেক্ট লিস্টবক্সের জন্য ব্যবহৃত হয়, যেখানে ব্যবহারকারী একাধিক অপশন নির্বাচন করতে পারেন। এই কম্পোনেন্টগুলি JSF অ্যাপ্লিকেশনগুলিতে ডাইনামিক ফর্ম এবং ইউজার ইন্টারফেস তৈরি করতে সাহায্য করে।
Read more