Struts 2 তে Form Data Submit করার প্রক্রিয়া
Struts 2 একটি MVC ফ্রেমওয়ার্ক, যা Model-View-Controller আর্কিটেকচারের মাধ্যমে ওয়েব অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে। Struts 2 তে ফর্ম ডেটা সাবমিট করার জন্য, মূলত Action ক্লাস এবং struts.xml কনফিগারেশন ফাইলের মাধ্যমে কাজ করা হয়। Form ডেটা ব্যবহারকারী থেকে গ্রহণ করে অ্যাকশন ক্লাসে প্রক্রিয়া করা হয় এবং ফলস্বরূপ উপযুক্ত ভিউ পৃষ্ঠায় রিডিরেক্ট করা হয়।
Struts 2 তে ফর্ম ডেটা সাবমিট করার জন্য সাধারণভাবে JSP পৃষ্ঠায় ফর্ম তৈরি করা হয়, যেখানে ব্যবহারকারী ইনপুট প্রদান করে। তারপর Action ক্লাসের মাধ্যমে এই ডেটা প্রসেস করা হয় এবং রেজাল্ট ভিউ পৃষ্ঠায় পাঠানো হয়।
Struts 2 তে Form Data Submit করার উদাহরণ
১. Action Class তৈরি করা
প্রথমে একটি Action Class তৈরি করতে হবে, যা ফর্ম থেকে আসা ডেটা গ্রহণ করবে এবং প্রক্রিয়া করবে। এখানে আমরা একটি UserForm ক্লাস তৈরি করব।
package com.example;
import com.opensymphony.xwork2.ActionSupport;
public class UserFormAction extends ActionSupport {
private String username;
private String password;
// Getter and Setter methods
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
// Action method to process the form data
public String submitForm() {
// Example: Simulate processing the form data
if ("admin".equals(username) && "password123".equals(password)) {
return SUCCESS;
} else {
return ERROR;
}
}
}
ব্যাখ্যা:
- UserFormAction ক্লাসটি ActionSupport থেকে এক্সটেন্ড করা হয়েছে, যাতে Struts 2 এর বিভিন্ন সুবিধা পাওয়া যায়।
- username এবং password নামক দুটি প্রপার্টি ডিফাইন করা হয়েছে এবং তাদের জন্য getter এবং setter মেথড তৈরি করা হয়েছে।
- submitForm() মেথডটি ফর্ম সাবমিটের পর ডেটা প্রসেস করে এবং সফলভাবে সাবমিট হলে
SUCCESSরিটার্ন করে, অন্যথায়ERRORরিটার্ন করে।
২. struts.xml কনফিগারেশন ফাইল
struts.xml ফাইলটি Struts 2 অ্যাপ্লিকেশন কনফিগার করার জন্য ব্যবহৃত হয়। এখানে আমরা UserFormAction ক্লাসের জন্য অ্যাকশন মেপিং এবং রেজাল্ট কনফিগার করব।
<struts>
<package name="default" extends="struts-default">
<action name="userForm" class="com.example.UserFormAction">
<result name="success">/welcome.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
ব্যাখ্যা:
- action: এখানে userForm নামক একটি অ্যাকশন ডিফাইন করা হয়েছে যা UserFormAction ক্লাসের সাথে মেপিং করা হয়েছে।
- result: অ্যাকশন সফল হলে
/welcome.jspপৃষ্ঠায় রিডিরেক্ট করা হবে এবং ত্রুটি হলে/error.jspপৃষ্ঠায় রিডিরেক্ট করা হবে।
৩. JSP পৃষ্ঠা (ফর্ম তৈরি করা)
এখন আমরা একটি JSP পৃষ্ঠা তৈরি করব যেখানে ব্যবহারকারী নাম এবং পাসওয়ার্ড ইনপুট করবে এবং ফর্ম সাবমিট করবে।
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head><title>User Form</title></head>
<body>
<h2>Enter Your Credentials</h2>
<s:form action="userForm" method="post">
<s:textfield name="username" label="Username" required="true" />
<s:password name="password" label="Password" required="true" />
<s:submit value="Submit" />
</s:form>
</body>
</html>
ব্যাখ্যা:
- s:form: Struts 2 ট্যাগ লাইব্রেরি ব্যবহার করে ফর্ম তৈরি করা হয়েছে। action অ্যাট্রিবিউটের মাধ্যমে ফর্মটি userForm অ্যাকশনের সাথে যুক্ত করা হয়েছে।
- s:textfield এবং s:password: এই ট্যাগগুলি ইনপুট ফিল্ড তৈরি করতে ব্যবহৃত হয়, যেখানে ব্যবহারকারী নাম এবং পাসওয়ার্ড প্রদান করবে।
- s:submit: এটি ফর্ম সাবমিট করার জন্য একটি বাটন তৈরি করে।
৪. Result View (Welcome Page)
ফর্ম সফলভাবে সাবমিট হলে ব্যবহারকারীকে একটি স্বাগত পৃষ্ঠায় রিডিরেক্ট করা হবে।
<html>
<head><title>Welcome</title></head>
<body>
<h2>Welcome, ${username}!</h2>
</body>
</html>
ব্যাখ্যা:
- ${username}: Action ক্লাস থেকে প্রাপ্ত username প্রপার্টি জেএসপিতে প্রদর্শিত হবে।
৫. Error Page
ফর্ম সাবমিটের সময় ত্রুটি হলে, ব্যবহারকারীকে একটি ত্রুটি পৃষ্ঠায় রিডিরেক্ট করা হবে।
<html>
<head><title>Error</title></head>
<body>
<h2>Invalid credentials. Please try again!</h2>
</body>
</html>
ব্যাখ্যা:
- যদি ব্যবহারকারী ভুল ব্যবহারকারীর নাম বা পাসওয়ার্ড প্রদান করে, তাহলে ERROR রেজাল্ট রিটার্ন হবে এবং ত্রুটি পৃষ্ঠা প্রদর্শিত হবে।
সারাংশ
Struts 2 তে ফর্ম ডেটা সাবমিট করার প্রক্রিয়া খুবই সরল এবং কার্যকরী। একটি ফর্ম তৈরি করা হয় যেখানে ব্যবহারকারী ইনপুট প্রদান করে এবং তারপর এই ডেটা Action ক্লাসের মাধ্যমে প্রসেস করা হয়। এর পরে উপযুক্ত ফলাফল (রেজাল্ট) ভিত্তিক পৃষ্ঠায় রিডিরেক্ট করা হয়। Struts 2 ফ্রেমওয়ার্কের Action, struts.xml কনফিগারেশন ফাইল, এবং JSP পৃষ্ঠার মধ্যে সমন্বয় করে ডেটা সাবমিট এবং প্রক্রিয়া করা যায়।
Read more