[4.1.x]Tapestry4.1.x中内置的ajax(不用写任何的javascript)

来源:互联网 发布:c语言的发展前景 编辑:程序博客网 时间:2024/05/15 14:01
Tapestry4.1.x中内置dojo实现ajax功能,不用写任何的javascript就可以实现,
具体步骤如下。

1、用Shell组件包含进dojo,Shell组件会自动配置dojo包
<html jwcid="@Shell" title="Basic Ajax Page">
<body jwcid="@Body">

<p>Basic javascript inclusion sample.</p>

</body>
</html>

2、使用updateComponents参数

这个参数已经在很多组件里实现,加上这个参数就可以实现ajax了,例如组件

DirectLink, LinkSubmit, Form, ImageSubmit and Submit,你只要告诉它要

更新哪些部分或者组件就可以了,jwcid="time@Insert"这种取id为time,你也

可以将你需要更新的部分使用Any组件包含起来,例如

<div jwcid="ajax@Any">update me</div>,同样这时的Id为ajax,而且你可以

更新多个,例如updateComponents="time,ajax"

<html jwcid="@Shell" title="Basic Ajax Page">
<body jwcid="@Body">

<p>Basic javascript inclusion sample.</p>

<p><a jwcid="@DirectLink" listener="listener:onRefreshTime" updateComponents="time">Refresh time</a>.</p>

<div jwcid="time@Insert" value="ognl:time" renderTag="true" />

</body>
</html>
 3、普通的Tapestry Page类
public abstract BasicAjax extends BasePage {

public abstract void setTime(Date time);

public void onRefreshTime()
{
setTime(new java.util.Date());
}
}