Custom Action ক্লাস তৈরি করা

Struts 2 এর Action - স্ট্রাটস (Struts 2) - Java Technologies

325

Struts 2-এ Custom Action ক্লাস তৈরি করা খুবই সহজ এবং এটি অ্যাকশন লজিক বা ব্যবসায়িক লজিককে পরিচালনা করতে ব্যবহৃত হয়। Action ক্লাসটি ActionSupport ক্লাস থেকে এক্সটেন্ড করে তৈরি করা হয়, যা বিভিন্ন ধরনের বিল্ট-ইন ফিচার সরবরাহ করে। এই ক্লাসটি রিকোয়েস্ট হ্যান্ডলিং এবং ফর্ম ডেটা প্রক্রিয়া করার জন্য ব্যবহৃত হয়।

এখানে, আমরা Custom Action ক্লাস তৈরি করার প্রক্রিয়া এবং এর ব্যবহার দেখব।


Custom Action ক্লাস তৈরি করার ধাপ

  1. Action ক্লাস তৈরি করুন: এই ক্লাসটি সাধারণত ActionSupport অথবা Action ইন্টারফেস এক্সটেন্ড করে তৈরি করা হয়। এখানে আপনার লজিক থাকবে যা ইউজারের ইনপুট প্রক্রিয়া করবে।
  2. প্রোপার্টি ডিফাইন করুন: ইউজারের ইনপুট ডেটা (যেমন, ফর্ম ডেটা) স্টোর করার জন্য ক্লাসে প্রোপার্টি তৈরি করা হয়।
  3. মেথড তৈরি করুন: ক্লাসে একটি execute() মেথড থাকতে পারে যা Action ক্লাসের জন্য ডিফল্ট। এই মেথডে ব্যবসায়িক লজিক (business logic) সম্পাদিত হয় এবং এটি ফলাফল হিসেবে SUCCESS অথবা ERROR রিটার্ন করে।
  4. struts.xml কনফিগারেশন: struts.xml ফাইলে এই Custom Action ক্লাসটি কনফিগার করতে হবে।

উদাহরণ: Custom Action ক্লাস তৈরি

Step 1: Action ক্লাস তৈরি

LoginAction.java (Custom Action Class)

package com.example.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport {

    private String username;
    private String password;

    // Execute method
    @Override
    public String execute() {
        if ("admin".equals(username) && "password123".equals(password)) {
            return SUCCESS;
        } else {
            return ERROR;
        }
    }

    // Getter and Setter for username and password
    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;
    }
}

এখানে:

  • LoginAction ক্লাসটি ActionSupport থেকে এক্সটেন্ড করা হয়েছে।
  • execute() মেথডটি ইউজারের ইনপুট ভ্যালিডেট করছে। যদি ব্যবহারকারী সঠিক ইউজারনেম এবং পাসওয়ার্ড প্রদান করেন, তবে এটি SUCCESS রিটার্ন করবে, নতুবা ERROR রিটার্ন করবে।
  • username এবং password প্রোপার্টি ফর্ম ডেটা গ্রহণ করার জন্য তৈরি করা হয়েছে।

Step 2: Struts 2 কনফিগারেশন ফাইল (struts.xml)

struts.xml ফাইলটি অ্যাকশন ক্লাস এবং তার ফলাফল কনফিগার করার জন্য ব্যবহৃত হয়।

<struts>
    <package name="default" extends="struts-default">
        
        <!-- Action configuration -->
        <action name="login" class="com.example.action.LoginAction">
            <result name="success">/home.jsp</result>
            <result name="error">/login.jsp</result>
        </action>

    </package>
</struts>

এখানে:

  • action name="login": login নামক রিকোয়েস্ট হ্যান্ডেল করার জন্য LoginAction ক্লাসটি মেপ করা হয়েছে।
  • class="com.example.action.LoginAction": এটি LoginAction ক্লাসের প্যাকেজ এবং ক্লাসের নাম।
  • result: সফল বা ব্যর্থ হলে ইউজারকে home.jsp অথবা login.jsp পৃষ্ঠায় রিডাইরেক্ট করা হবে।

Step 3: JSP ফাইল (UI ফাইল)

login.jsp (ফর্ম ইনপুট পেজ)

<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head><title>Login Form</title></head>
<body>
    <h2>Login</h2>
    <s:form action="login" method="post">
        <s:textfield name="username" label="Username"/>
        <s:password name="password" label="Password"/>
        <s:submit value="Login"/>
    </s:form>
</body>
</html>

এখানে:

  • s:form এবং অন্যান্য struts-tags ব্যবহার করা হয়েছে ফর্ম তৈরি করতে, যেখানে ব্যবহারকারী তার ইউজারনেম এবং পাসওয়ার্ড প্রদান করতে পারবেন।
  • action="login" অ্যাকশন নামটি struts.xml এর action কনফিগারেশন অনুযায়ী প্রেরিত হবে।

Step 4: সফল রেজাল্ট এবং ত্রুটি (home.jsp)

home.jsp (সফল লগইন পেজ)

<html>
<head><title>Home Page</title></head>
<body>
    <h2>Welcome, you are logged in!</h2>
</body>
</html>

login.jsp (ত্রুটির পেজ)

<html>
<head><title>Login Failed</title></head>
<body>
    <h2>Invalid username or password. Please try again.</h2>
</body>
</html>

এখানে:

  • home.jsp পৃষ্ঠাটি সফল লগইন হলে দেখানো হবে।
  • login.jsp পৃষ্ঠাটি যদি লগইন ব্যর্থ হয় তবে দেখানো হবে, যাতে ব্যবহারকারীকে পুনরায় চেষ্টা করার জন্য বলা হবে।

সারাংশ

Struts 2-এ Custom Action ক্লাস তৈরি করা খুবই সহজ এবং তা মূলত ব্যবসায়িক লজিক বা অ্যাকশন লজিক প্রোসেস করার জন্য ব্যবহৃত হয়। আপনি ActionSupport অথবা Action ইন্টারফেস এক্সটেন্ড করে অ্যাকশন ক্লাস তৈরি করতে পারেন এবং struts.xml ফাইলে সেই অ্যাকশন ক্লাসের কনফিগারেশন করতে পারেন। এই প্রক্রিয়ায় আপনি ইউজারের ইনপুট, ভ্যালিডেশন, এবং প্রাসঙ্গিক রেজাল্ট পেজে রিডাইরেক্ট করার কার্যকলাপ পরিচালনা করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...