Tapestry Ajax组件基础教程文档

收录于 2023-04-20 00:10:05 · بالعربية · English · Español · हिंदीName · 日本語 · Русский язык · 中文繁體

AJAX 代表 异步 JavaScript 和 XML。它是一种在 XML、JSON、HTML、CSS、JavaScript 的帮助下创建更好、更快和更具交互性的 Web 应用程序的技术。 AJAX 允许您异步发送和接收数据,而无需重新加载网页,因此速度很快。

区域组件

区域组件用于提供内容(标记)以及内容本身的位置。 Tapestry 在内部使用 Zone 组件的主体来生成内容。动态内容生成后,Tapestry 会将其发送给客户端,在正确的位置重新渲染数据,触发并动画化 HTML 以吸引用户的注意力。
此 Zone 组件与 EventLink 组件一起使用。 EventLink 可以选择使用 t:zone 属性将其绑定到特定区域。在 EventLink 中配置区域后,单击 EventLink 将触发区域更新。另外,EventLink事件(refreshZone)可以用来控制动态数据的生成。
AJAX 的一个简单例子如下-

AjaxZone.tml

<html t:type = "Newlayout" title = "About MyFirstApplication" 
   xmlns:t = "http://tapestry.apache.org/schema/tapestry_5_4.xsd" 
   xmlns:p = "tapestry:parameter">  
   
   <body> 
      <h1>Ajax time zone example</h1>  
      <div class = "div1">  
         <a t:type = "eventlink" t:event = "refreshZone" href = "#" 
            t:zone = "timeZone">Ajax Link </a><br/><br/> 
         <t:zone t:id = "timeZone" id = "timeZone">Time zone: ${serverTime}</t:zone> 
      </div>  
   </body>
   
</html> 

AjaxZone.java

package com.example.MyFirstApplication.pages;  
import java.util.Date; 
import org.apache.tapestry5.annotations.InjectComponent; 
import org.apache.tapestry5.corelib.components.Zone; 
import org.apache.tapestry5.ioc.annotations.Inject; 
import org.apache.tapestry5.services.Request;  
public class AjaxZone { 
   @Inject 
   private Request request; 
   
   @InjectComponent 
   private Zone timeZone; 
   
   void onRefreshPage() { 
   } 
   
   Object onRefreshZone() { 
      return request.isXHR() ? timeZone.getBody() : null; 
   } 
   
   public Date getServerTime() { 
      return new Date(); 
   } 
} 
结果将显示在:http://localhost:8080/MyFirstApplication/AjaxZone
Ajax 时区