Tapestry ফ্রেমওয়ার্ক Ajax ইন্টিগ্রেশনকে সহজ করে তোলে, যা ব্যবহারকারীদের পেজ রিফ্রেশ ছাড়াই ডেটা আপডেট করার সুযোগ দেয়। Tapestry এর Ajax সমর্থন client-side interactions এবং server-side processing এর মধ্যে সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। Ajax ইভেন্ট ব্যবহার করে আপনি পেজে থাকা নির্দিষ্ট অংশকে (যেমন, একটি টেবিল, ফর্ম, বা কোনো কম্পোনেন্ট) আপডেট করতে পারেন, এবং পুরো পেজটি রিফ্রেশ করার প্রয়োজন পড়ে না।
Tapestry Ajax ব্যবহারের জন্য t:ajax
ট্যাগ এবং on{Event}
ইভেন্ট হ্যান্ডলার ব্যবহার করা হয়। Ajax ইভেন্ট ব্যবহার করতে Tapestry Ajax Event Handler মেথডগুলো সঠিকভাবে নির্ধারণ করতে হয়।
ধরা যাক, আপনি একটি button ক্লিক করার মাধ্যমে একটি text field এর মান আপডেট করতে চান। এতে কোনো পেজ রিফ্রেশ হবে না, শুধুমাত্র নির্দিষ্ট অংশটি আপডেট হবে।
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd">
<head>
<title>Tapestry Ajax Example</title>
</head>
<body>
<h2>Ajax Example in Tapestry</h2>
<!-- Textfield for input -->
<t:textfield t:id="inputField" value="inputText" />
<!-- Button to trigger Ajax -->
<t:button t:id="updateButton" value="Update Text" t:ajax="true" onsuccess="updateText()" />
<!-- Div to show updated content -->
<div t:id="resultDiv">
<span>Current Text: <t:property value="inputText" /></span>
</div>
</body>
</html>
t:textfield
: এটি একটি টেক্সটফিল্ড তৈরি করে যার মান inputText
ভ্যারিয়েবলের সাথে বাইনড করা হয়েছে।t:button
: এখানে t:ajax="true"
যুক্ত করার মাধ্যমে বোঝানো হয়েছে যে, এই বাটনটি Ajax কল করবে। এর সাথে onSuccess
ইভেন্ট যুক্ত করা হয়েছে, যা Ajax রিকোয়েস্ট সফল হলে updateText()
ফাংশনটি কল করবে।t:property
: এটি inputText
ভ্যালুকে UI তে দেখানোর জন্য ব্যবহৃত হয়েছে।package com.example.pages;
import org.apache.tapestry5.annotations.Property;
public class AjaxExample {
@Property
private String inputText = "Initial Text";
// Ajax action to update the text
public void onSuccessFromUpdateButton() {
inputText = "Text has been updated!";
}
}
inputText
ভ্যারিয়েবলটি UI তে বাইনড করা হয়েছে।inputText
এর মান আপডেট করবে, যাতে টেক্সট ফিল্ডের মান পরিবর্তিত হয়।t:ajax
এর মাধ্যমে আপনি Ajax কল শুরু করতে পারেন এবং onsuccess
, onfailure
, এবং oncomplete
ইভেন্ট হ্যান্ডলারের মাধ্যমে সার্ভার সাইড থেকে আসা রেসপন্সগুলো পরিচালনা করতে পারেন।
উদাহরণ:
<t:button t:id="submitButton" value="Submit" t:ajax="true"
onsuccess="handleSuccess()" onfailure="handleFailure()" oncomplete="handleComplete()" />
onSuccess
: Ajax রিকোয়েস্ট সফল হলে এই ইভেন্ট হ্যান্ডলার চালু হবে।onFailure
: Ajax রিকোয়েস্টে কোনো সমস্যা হলে এই ইভেন্ট হ্যান্ডলার চালু হবে।onComplete
: Ajax রিকোয়েস্ট সম্পূর্ণ হওয়ার পর এই ইভেন্ট হ্যান্ডলার চালু হবে।Tapestry ফ্রেমওয়ার্কে Ajax ইভেন্ট ব্যবহার করে আপনি পেজ রিফ্রেশ ছাড়াই ডেটা আপডেট করতে পারেন, যা ব্যবহারকারীর অভিজ্ঞতাকে উন্নত করে। t:ajax
কম্পোনেন্টের সাহায্যে আপনি ব্যবহারকারীর ইন্টারঅ্যাকশনের মাধ্যমে সেল্ফ-আপডেটিং ফর্ম এবং ডাইনামিক UI উপাদান তৈরি করতে পারেন। Ajax ইভেন্টের মাধ্যমে আপনি ইন্টারঅ্যাকটিভ পেজ তৈরি করতে পারেন যেখানে শুধুমাত্র প্রয়োজনীয় অংশগুলি আপডেট হয়, পুরো পেজ রিফ্রেশ করার প্রয়োজন হয় না।
Read more