Spring少得可怜的几个tag基本上是鸡肋
Spring少得可怜的几个tag基本上是鸡肋,完全可以不要。
1.form 的数据绑定因为它的Tag主要用来做数据绑定,把VO的值绑到input框上。但是,和Struts一样,需要逐个Input框绑定,而且语法极度冗长,遇到select框还要自己进行处理.....
jodd的form tag给我们懒人一个懒得多的方法,只要在<form>两头用<jodd:form bean="myVO"></jodd:form>包住,里面的所有input框,select框,checkBox...统统自动被绑定了,这么简单的事情,真不明白struts,spring为什么不用,为了不必要的灵活性?
不过,jodd有个致命弱点是不能绑定内嵌对象的值。比如Order(订单)对象里有个Customer(顾客)对象,jodd就不能像 struts,spring一样用如下语法绑定:
<input name="customer.customerNo">
这是因为它的beanUtils比Jakata Common弱的缘故,所以用了一个错误的思路。
于是动用beanUtils改了一下,代码在这里下载。
2. DataGrid 除了detail form, View层的数据绑定还有另外两种很典型的形式,
一种是可编辑的DataGrid, 常用于基础资料的维护界面.
而另外一种DataGrid纯粹显示数据,不可以修改. 比如订单列表界面.
DisplayTag和ValueList都属于这种形式的Tag Library,萝卜青菜各有所爱,我自己喜欢ValueList多一些.
因为两者都不可能100%合适项目的要求,基本上都需要自行做很多扩展才会成为自己心爱的DataGrid.
扩展的时候,ValueList的架构要灵活轻便一些,displayTag做得太霸道了. 曾经花了不少时间看ValueList的原码,自己的DataGrid也初步成型了, 要赶快另外写一篇文档来记下ValueList的扩展要诀.
浙公网安备 33010602011771号