উদাহরণ সহ Tiles Integration

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

267

Struts 2Tiles Integration একটি শক্তিশালী ফিচার যা আপনাকে বিভিন্ন ভিউ টেমপ্লেট ব্যবহার করে আপনার ওয়েব অ্যাপ্লিকেশনটি মডুলার এবং রিইউজেবল করতে সহায়তা করে। Tiles একটি টেমপ্লেট সিস্টেম যা আপনাকে ওয়েব পেজগুলোকে বিভিন্ন টুকরো (like header, footer, sidebar, body) হিসেবে ভাগ করতে দেয় এবং সেগুলোকে একত্রে জুড়ে একটি পূর্ণ পেজ তৈরি করতে সহায়তা করে।

Struts 2 এর সাথে Tiles ইন্টিগ্রেশন খুব সহজ। এটি বিভিন্ন অংশে ভিউ টেমপ্লেট ব্যবহার করার সুযোগ দেয়, যেমন: header, footer, sidebar, এবং অন্যান্য অংশ যা আপনার অ্যাপ্লিকেশনটির প্রতিটি পৃষ্ঠায় পুনঃব্যবহারযোগ্য।


Struts 2 Tiles Integration এর সুবিধা

  1. Reusability: একই header, footer এবং অন্যান্য অংশ বিভিন্ন পৃষ্ঠায় ব্যবহার করা যায়।
  2. Maintainability: কোড আরও পরিষ্কার এবং সহজে মেইনটেইনযোগ্য।
  3. Modularity: পৃষ্ঠাগুলোর বিভিন্ন অংশ আলাদাভাবে তৈরি এবং মডিউলার করে রাখা যায়।
  4. Flexibility: ভিউ টেমপ্লেট একত্রে রেন্ডার করা যায়।

Struts 2 এ Tiles ইন্টিগ্রেশন কনফিগার করা

Struts 2 এর সাথে Tiles ইন্টিগ্রেট করার জন্য কিছু নির্দিষ্ট স্টেপ অনুসরণ করতে হয়:

  1. Tiles Dependency Setup (Maven)
  2. TilesConfigurer Setup
  3. Tiles Definition Files
  4. Struts 2 Action Configuration
  5. Tiles Template Configuration

১. Tiles Dependency Setup

Tiles ইন্টিগ্রেশন করার জন্য Tiles API এবং Struts 2 Tiles Plugin এর ডিপেনডেন্সি আপনার pom.xml ফাইলে যুক্ত করতে হবে।

pom.xml (Maven Dependency)

<dependencies>
    <!-- Struts 2 Tiles Plugin -->
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-tiles-plugin</artifactId>
        <version>2.5.22</version> <!-- আপনার Struts 2 এর ভার্সন অনুসারে সংস্করণ নির্বাচন করুন -->
    </dependency>

    <!-- Tiles API -->
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-api</artifactId>
        <version>3.0.8</version> <!-- Tiles API এর সংস্করণ -->
    </dependency>

    <!-- Tiles Core -->
    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-core</artifactId>
        <version>3.0.8</version> <!-- Tiles Core এর সংস্করণ -->
    </dependency>
</dependencies>

২. TilesConfigurer Setup

Tiles কনফিগার করার জন্য tiles.xml ফাইল তৈরি করতে হবে যেখানে টেমপ্লেট এবং ডিফিনেশন সেটআপ করা হবে। এছাড়া, TilesConfigurer এবং TilesView কনফিগারেশন স্টেপও করতে হবে।

tiles.xml ফাইল

<tiles-definitions>
    <definition name="baseLayout" template="/WEB-INF/layouts/defaultLayout.jsp">
        <put-attribute name="header" value="/WEB-INF/tiles/header.jsp"/>
        <put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp"/>
        <put-attribute name="body" value=""/>
    </definition>

    <definition name="homePage" extends="baseLayout">
        <put-attribute name="body" value="/WEB-INF/content/home.jsp"/>
    </definition>

    <definition name="contactPage" extends="baseLayout">
        <put-attribute name="body" value="/WEB-INF/content/contact.jsp"/>
    </definition>
</tiles-definitions>

কোড ব্যাখ্যা:

  • baseLayout টেমপ্লেটের মধ্যে একটি সাধারণ লেআউট নির্ধারণ করা হয়েছে, যেখানে header, footer, এবং body পৃষ্ঠা অংশগুলোকে ডিফাইন করা হয়েছে।
  • homePage এবং contactPage এর মতো আলাদা পৃষ্ঠা ডিফিনেশন করা হয়েছে যেগুলিতে baseLayout টেমপ্লেট ব্যবহার হয়েছে এবং তাদের নিজস্ব body কনটেন্ট আছে।

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

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

কোড ব্যাখ্যা:

  • এখানে home এবং contact অ্যাকশন কনফিগার করা হয়েছে, যেখানে tiles রেজাল্ট টাইপ ব্যবহার করা হয়েছে। এর মাধ্যমে, অ্যাকশন সফল হলে এগুলি Tiles টেমপ্লেটের মাধ্যমে রেন্ডার হবে।

৩. Tiles Template (Layouts and JSP)

এখন, আমাদের header.jsp, footer.jsp, এবং defaultLayout.jsp টেমপ্লেট তৈরি করতে হবে।

defaultLayout.jsp (টেমপ্লেট লেআউট)

<!DOCTYPE html>
<html>
<head>
    <title>My Struts 2 Application</title>
</head>
<body>
    <div id="header">
        <tiles:insertAttribute name="header"/>
    </div>

    <div id="body">
        <tiles:insertAttribute name="body"/>
    </div>

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

কোড ব্যাখ্যা:

  • এখানে tiles:insertAttribute ট্যাগ ব্যবহার করা হয়েছে যা Tiles টেমপ্লেটের নির্দিষ্ট অংশকে ইনসার্ট করে (যেমন header, body, footer)।

header.jsp এবং footer.jsp

<!-- header.jsp -->
<h1>Welcome to My Application</h1>
<!-- footer.jsp -->
<p>© 2024 My Company</p>

home.jsp এবং contact.jsp

<!-- home.jsp -->
<h2>Home Page</h2>
<p>This is the home page content.</p>
<!-- contact.jsp -->
<h2>Contact Us</h2>
<p>Here is how you can contact us.</p>

৪. TilesConfigurer Setup in web.xml

আপনার web.xml ফাইলে Tiles-কে কনফিগার করতে হবে।

<web-app>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/</url-pattern>
    </filter-mapping>

    <!-- TilesConfigurer Setup -->
    <filter>
        <filter-name>tiles</filter-name>
        <filter-class>org.apache.tiles.web.startup.TilesFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>tiles</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

উপসংহার

Struts 2 এর সাথে Tiles Integration আপনাকে একটি মডুলার, রিইউজেবল এবং সহজে পরিচালনাযোগ্য ভিউ টেমপ্লেট সিস্টেম তৈরি করতে সাহায্য করে। এটি আপনাকে header, footer, sidebar এবং অন্যান্য উপাদানগুলোকে একটি কেন্দ্রীয় টেমপ্লেটে ইনক্লুড করার সুবিধা দেয়। struts.xml, tiles.xml, এবং web.xml ফাইল কনফিগারেশন-এর মাধ্যমে আপনি খুব সহজেই Tiles ইন্টিগ্রেশন সেটআপ করতে পারেন এবং আপনার অ্যাপ্লিকেশনটিকে আরও মডুলার ও কার্যকরী বানাতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...