创建并扩展Apache Wicket Web应用
2010-06-30 00:00:00 来源:WEB开发网用户点击该链接时,整个Web页面会被重新加载。很多情况下,我们都想在后台执行此操作,只更新或改变页面的一部分内容。使用AJAX能轻松做到这一点,如清单12所示。
清单12:带有AJAX链接的Wicket面板。
// package信息
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxFallbackLink;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.PropertyModel;
public class AjaxApproach extends Panel {
private int clickCount = 0;
public AjaxApproach(String pId) {
super(pId);
final Label label = new Label("clickLabel", new PropertyModel(this, "clickCount"));
label.setOutputMarkupId(true);
add(label);
add(new AjaxFallbackLink("link") {
@Override
public void onClick(AjaxRequestTarget pTarget) {
clickCount++;
if (pTarget != null) {
pTarget.addComponent(label);
}
}
});
}
}
比较这两种方法,我们看到只修改了少量的内容。AJAX链接的onClick方法里,我们接收了一个AjaxRequestTarget对象。 AjaxRequestTarget对象用来标识AJAX请求中将被更新的组件。如果我们使用的Web浏览器不支持 JavaScript,AjaxRequestTarget对象就会为null。除此之外,源代码几乎是相同的,而且清单13所示的XHTML标记在两种方法中都能使用。仅用了几行Java代码,我们就能更新Web页面的组件,而无需刷新整个页面。多亏了Wicket内置的AJAX引擎,我们才不用编写单独的JavaScript代码,或手动链接到JavaScript库。后台会自动添加所有基本的JavaScript功能。
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››扩展WebSphere Portal V6个性化功能
- ››创建一个Twisted Reactor TCP服务器
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››创建Windows Mobile上兼容性好的UI 程序
更多精彩
赞助商链接