springBind的使用

最近在使用springmvc的时候看到一个标签springBind,使用后发现绑定的时候input的名字直接跟form对象的属性一致时就可以绑定,根本不需要springBind的标签  

#springBind("orderForm.address")

address<input type="text" name="address"/></br>

也就是说直接写成这样:address<input type="text" name="address"/>就可以绑定成功了,因此怀疑springBind的作用是用来绑定input名字和form对象属性不一直的情况,于是改成:

#springBind("orderForm.address")

address<input type="text" name="address2"/></br>没想到绑定失败,想不明白为什么,google一下发现一遍文章:

http://blog.csdn.net/airu/archive/2008/03/13/2177631.aspx在最后的地方写到:

 

<input>的name属性值必须与<spring:bind>的path属性的匹配,否则就绑定不了!

例如下面的代码就绑定不了

<spring:bind path="user.age">
      <input type="text" name="theAge" value="${status.value}">
      <font color="red">${status.errorMessage}</font>
</spring:bind>

为了避免手误,强烈推荐下列方法来绑定:

<spring:bind path="user.age">
      <input type="text" name="${status.expression}" value="${status.value}">
      <font color="red">${status.errorMessage}</font>
</spring:bind>

 

发现这里的 status.expression不是个例子,而是表达式,晕菜,之前一直以为是例子。于是把自己的代码改成:

#springBind("orderForm.address")
 address<input type="text" name="${status.expression}"/></br>

这样就可以绑定字段了。

终于理解了springBind的用法,真是错误让理解更深刻

posted on 2010-06-30 10:27  青竹园主  阅读(1870)  评论(1编辑  收藏  举报