Struts 2 এবং Tiles Integration

Struts 2 এর Tiles Framework Integration - স্ট্রাটস (Struts 2) - Java Technologies

299

Apache Tiles একটি টেমপ্লেট ইঞ্জিন যা Java-based ওয়েব অ্যাপ্লিকেশনগুলিতে UI (User Interface) অংশের পুনঃব্যবহারযোগ্য অংশ তৈরি করতে ব্যবহৃত হয়। এটি একটি শকটিভ UI তৈরি করার জন্য টেমপ্লেটের মাধ্যমে ডাইনামিকভাবে HTML পেজ রেন্ডার করার কাজ করে। Struts 2 এবং Tiles Integration ব্যবহার করে আপনি একটি কাস্টমাইজড এবং পুনঃব্যবহারযোগ্য লেআউট তৈরি করতে পারেন, যা কোড পুনঃব্যবহারযোগ্যতা, রক্ষণাবেক্ষণ সহজতর এবং অ্যাপ্লিকেশনটির সঠিক কাঠামো নিশ্চিত করতে সহায়ক।

Struts 2 এবং Tiles Integration এর মাধ্যমে View Layer এর ভিন্ন ভিন্ন অংশ (Header, Footer, Menu, Body) আলাদা আলাদা টেমপ্লেটে ভাগ করা সম্ভব, যাতে UI-এর একটি অংশ পরিবর্তন করলে পুরো অ্যাপ্লিকেশনটির ভিউ ঠিক থাকে।


Struts 2 এবং Tiles Integration এর প্রয়োজনীয়তা

  • Code Reusability: UI এর কম্পোনেন্টগুলিকে (যেমন Header, Footer, Sidebar) পুনঃব্যবহার করা যায়।
  • Easy to Maintain: টেমপ্লেট পরিবর্তন করলে পুরো অ্যাপ্লিকেশন স্বয়ংক্রিয়ভাবে আপডেট হয়।
  • Separation of Concerns: UI এবং লজিক একে অপর থেকে আলাদা থাকে, যা উন্নত রক্ষণাবেক্ষণ নিশ্চিত করে।

Struts 2 এবং Tiles Integration এর ধাপসমূহ

Struts 2 এবং Tiles এর একত্রে কাজ করার জন্য কয়েকটি ধাপ অনুসরণ করতে হবে:

  1. Tiles ফ্রেমওয়ার্কের অন্তর্ভুক্তি: Struts 2 এবং Tiles ইন্টিগ্রেট করতে tiles-plugin এবং tiles-api এর প্রয়োজন হয়। এগুলি Maven অথবা JAR ফাইল হিসেবে অ্যাপ্লিকেশন এড করা হয়।
  2. struts.xml কনফিগারেশন: Tiles ব্যবহার করতে হলে Struts 2 অ্যাপ্লিকেশনের struts.xml ফাইল কনফিগার করতে হবে।
  3. tiles-definition.xml কনফিগারেশন: Tiles টেমপ্লেট এবং লেআউট ডিফাইন করার জন্য tiles-definition.xml ফাইল কনফিগার করতে হয়।
  4. JSP পেজে Tiles ট্যাগ ব্যবহার: Struts 2 অ্যাকশনের আউটপুট ফলস্বরূপের মধ্যে Tiles টেমপ্লেট ব্যবহার করতে হয়।

১. Tiles ফ্রেমওয়ার্ক অন্তর্ভুক্তি

Struts 2 এবং Tiles একত্রে কাজ করতে হলে, আপনার tiles-plugin এবং tiles-api নির্ভরশীলতা pom.xml (যদি Maven ব্যবহার করেন) এ অন্তর্ভুক্ত করতে হবে।

Maven Dependencies (pom.xml):

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-api</artifactId>
    <version>3.0.8</version>
</dependency>

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-servlet</artifactId>
    <version>3.0.8</version>
</dependency>

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-tiles-plugin</artifactId>
    <version>2.5.22</version>
</dependency>

এটি Struts 2 এবং Tiles-এর প্রয়োজনীয় JAR ফাইল অন্তর্ভুক্ত করবে।


২. struts.xml কনফিগারেশন

Tiles ফিচার ব্যবহারের জন্য struts.xml ফাইলে কিছু কনফিগারেশন প্রয়োজন। Struts 2 এর tiles plugin ব্যবহার করার জন্য struts2-tiles-plugin কনফিগার করতে হবে।

struts.xml কনফিগারেশন:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Struts//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>

    <package name="default" extends="struts-default,tiles-default">
        <action name="home" class="com.example.action.HomeAction" method="execute">
            <result name="success" type="tiles">/home</result>
        </action>
    </package>

</struts>

ব্যাখ্যা:

  • struts-default, tiles-default: এটি Struts 2 এর ডিফল্ট কনফিগারেশন এবং Tiles এর ডিফল্ট কনফিগারেশন একসাথে ব্যবহার করতে সহায়ক।
  • action: অ্যাকশনের মাধ্যমে যখন রিকোয়েস্ট আসবে, তখন টাইলস টেমপ্লেট অনুযায়ী রিডিরেক্ট করা হবে।

৩. tiles-definition.xml কনফিগারেশন

tiles-definition.xml ফাইলটিতে আপনি কীভাবে Tiles টেমপ্লেট এবং লেআউট সংজ্ঞায়িত করবেন তা উল্লেখ করা হয়। এখানে আপনি Header, Footer, Sidebar ইত্যাদি অংশগুলো নির্ধারণ করতে পারেন।

tiles-definition.xml উদাহরণ:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC "-//Apache Struts//DTD Tiles Configuration 2.0//EN" "http://struts.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>

    <!-- Main layout definition -->
    <definition name="baseLayout" template="/WEB-INF/layouts/mainLayout.jsp">
        <put-attribute name="header" value="/WEB-INF/views/header.jsp"/>
        <put-attribute name="body" value="/WEB-INF/views/body.jsp"/>
        <put-attribute name="footer" value="/WEB-INF/views/footer.jsp"/>
    </definition>

    <!-- Specific page layout -->
    <definition name="home" extends="baseLayout">
        <put-attribute name="body" value="/WEB-INF/views/home.jsp"/>
    </definition>

</tiles-definitions>

ব্যাখ্যা:

  • baseLayout: এটি একটি টেমপ্লেট যা সাধারণভাবে Header, Body, এবং Footer এর জন্য জায়গা নির্ধারণ করে।
  • home: এটি baseLayout এর একটি এক্সটেনশন, যেখানে body অংশে home.jsp পৃষ্ঠা ইনক্লুড করা হয়।

৪. JSP পেজে Tiles ট্যাগ ব্যবহার

Tiles টেমপ্লেটের মধ্যে JSP পেজগুলো উপযুক্তভাবে রেন্ডার করতে হয়। এখানে টাইলস ট্যাগ ব্যবহার করে Header, Footer, Body অংশগুলো অন্তর্ভুক্ত করা হবে।

JSP (home.jsp) উদাহরণ:

<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>

<html>
<head>
    <title>Home Page</title>
</head>
<body>
    <tiles:insertAttribute name="header"/>
    
    <h1>Welcome to the Home Page</h1>

    <tiles:insertAttribute name="body"/>
    
    <tiles:insertAttribute name="footer"/>
</body>
</html>

ব্যাখ্যা:

  • tiles:insertAttribute: এটি নির্দিষ্ট attribute (যেমন header, body, footer) রেন্ডার করে। এখানে home.jsp টেমপ্লেটের মধ্যে header, body, এবং footer অংশগুলো মাপানো হয়।

সারাংশ

Struts 2 এবং Tiles Integration ব্যবহার করে আমরা UI (User Interface) টেমপ্লেট তৈরি এবং পুনঃব্যবহারযোগ্য অংশ তৈরি করতে পারি। এটি অ্যাপ্লিকেশনটির view layer কে আরও মডুলার এবং রক্ষণাবেক্ষণযোগ্য করে তোলে। Tiles ব্যবহার করলে ইউজারের জন্য সাধারণ লেআউট (যেমন Header, Footer, Sidebar) তৈরি করা সহজ হয়, এবং অ্যাপ্লিকেশনের কোডও পুনঃব্যবহারযোগ্য হয়। Struts 2 এবং Tiles এর সংমিশ্রণ একটি কার্যকরী, স্কেলেবল এবং ভাল মানের অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...