Tapestry 和 Wicket 的比较
2010-03-30 00:00:00 来源:WEB开发网我们来查看一个应用 float 类型的示例。在 Tapestry 中,按照以下方式指定一个具有 float 值的文本字段:
清单 1. Tapestry 代码示例
<component id="weight" type="TextField">
<binding name="value" value="ognl:weight"/>
<binding name="translator" value="translator:number,pattern=#.#"/>
<binding name="displayName" value="literal:Weight"/>
</component>
Wicket 中按照以下方式指定这种文本字段:
清单 2. Wicket 代码示例
FormComponent field = new TextField("weight", Float.class);
field.setLabel(new Model("Weight"));
add(field);
因此,可以自然地使用简单的数据类型,比如 string、integer、 float,甚至是 BigDecimal。
验证
作为一条经验法则,应该针对业务规则验证所有的用户输入。Tapestry 和 Wicket 都能够对表单输入字段执行服务器端或客户机端(使用 DHTML)的验证。思考一下在服务器端如何完成这个任务。在框架中将按照以下方式通过特定的验证程序进行字段输入验证:
清单 3. Tapestry 验证程序
<component id="weight" type="TextField">
...
<binding name="validators" value="validators:min=1,max=500"/>
</component>
清单 4. Wicket 验证程序
...
field.add(NumberValidator.range(1, 500));
如果没有符合要求的验证程序,也可以定义一个自定义字段验证程序。如果产生任何验证错误,都应该向用户显示以表明输入无效。
更多精彩
赞助商链接