Tapestry 和 Wicket 的比较
2010-03-30 00:00:00 来源:WEB开发网<component id="actionForm" type="Form">
<binding name="delegate" value="beans.delegate"/>
<binding name="clientValidationEnabled" value="true"/>
</component>
基于相同的目的,Wicket 中采用AjaxFormValidatingBehavior 类。
清单 8. Wicket 中的客户端验证
AjaxFormValidatingBehavior.addToAllFormComponents(form, "onkeydown");
// Add the button to submit the form using AJAX
form.add(new AjaxButton("ajax-button", form) {
protected void onSubmit(AjaxRequestTarget target, Form form) {
target.addComponent(feedback);
}
protected void onError(AjaxRequestTarget target, Form form) {
target.addComponent(feedback);
}
});
控制结构
我们假设有一个分配给许多人的任务列表,并希望将它显示到一个 HTML 表中。 Tapestry 采用 For 标准组件来遍历集合,如清单 9、10、11 所示:
清单 9. Tapestry 页面说明
<component id="receivedItems" type="For">
<binding name="source" value="ognl:receivedItems"/>
<binding name="value" value="ognl:currentItem"/>
</component>
<component id="itemId" type="Insert">
<binding name="value" value="ognl:currentItem.itemId"/>
</component>
<component id="subject" type="Insert">
<binding name="value" value="ognl:currentItem.subject"/>
</component>
<component id="creator" type="Insert">
<binding name="value" value="ognl:currentItem.creator"/>
</component>
<component id="recipient" type="Insert">
<binding name="value" value="ognl:currentItem.recipient"/>
</component>
更多精彩
赞助商链接