第三十三讲:tapestry Ajax eventlink无刷新页面

tapestry的Ajax使用很是简单,Ajax的页面无刷新,恰好解决了eventlink、actionlink等组件无刷新,这点在js应用中很是的强大。下面就于eventlink组件为例。源码以下:html

AJAXEventLink.javajava

/**
* 项目名称:TapestryStart
* 开发模式:Maven+Tapestry5.x+Tapestry-hibernate+Mysql
* 版本:1.0
* 编写:飞风
* 时间:2012-02-29
*/
package com.tapestry.app.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 AJAXEventLink {
@Inject
private Request request;
 
@InjectComponent
private Zone time2Zone;
 
@SuppressWarnings("unused")
private Date serverTime1;
 
@SuppressWarnings("unused")
private Date serverTime2;
 
void onRefreshPage() {
 
}
 
Object onRefreshZone() {
return request.isXHR() ? time2Zone.getBody() : null;
}
 
public Date getServerTime1() {
return new Date();
}
 
public Date getServerTime2() {
return new Date();
}
 
}
 

AJAXEventLink.tmlsql

<html t:type="layout" title="tapestryStart Index"  t:sidebarTitle="Framework Version" 
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter">
<div style="margin-left: 50px">
<a t:type="eventlink" t:event="refreshPage" href="#">页面须要刷新</a><br/>
<a t:type="eventlink" t:event="refreshZone" href="#" t:zone="time2Zone">页面无刷新</a><br/><br/>
 
serverTime1:  ${serverTime1}
<t:zone t:id="time2Zone">
serverTime2:  ${serverTime2}
</t:zone><br/>
</div>
</html>
相关文章
相关标签/搜索