在 SpringSide 里翻到一个好东西: jodd:form " Jodd Form的使用极其简单,因为太简单了,才会名不见经传而被我们选用,让我们罔顾各大Framework的Form Tag.
他只要把<form>的头尾以<jodd:form bean= "mybean">包住即可,就会自动绑定mybean的所有同名属性到普通html标记--input, selectbox, checkbox,radiobox.....在这些input框里不用再写任何代码
可见,它的好处一是节约代码,二是保留了html版的form tag, 不需要用一套taglib来代替
而且支持内嵌对象的绑定,如book.category.name。
比那些需要使用非纯html标记的<ww:input>,逐个绑定input框,select框的Form Tag,虽减了些许灵活性,但实在方便得太厉害。
如果属性来自于request,而不是某个java bean,写<jodd:form bean= "request">
jodd采用的是普通的bean反射,调用所有属性的toString()函数。
注意,jodd在html tag不含value="xxx"属性时才会自动绑定。如果某个input框你不希望jodd自动绑定,或者默认的toString()不能满足要求时,可以手工为该input框写上 value="xxxx",jodd看到你已经定义了属性值,就会自动绕开。 "
<
form
name
="form1"
action
="action.do?method=save"
/>
" method="post">
<
jodd:form
bean
="form1"
scope
="request"
>
<
table
class
="border"
width
="90%"
cellSpacing
=0
cellPadding
=2
align
="center"
>
<
tr
>
<
td
width
="160"
class
="left"
>
姓名
</
td
>
<
td
colspan
="3"
class
="right"
>
<
input
name
="name"
type
="text"
class
="text"
size
="40"
>
<
label
class
="star"
>
*
</
label
>
</
td
>
</
tr
>
<
tr
>
<
td
width
="160"
class
="left"
>
性别
</
td
>
<
td
width
="303"
class
="right"
>
<
input
name
="sex"
type
="text"
class
="text"
size
="40"
>
<
label
class
="star"
>
*
</
label
>
</
td
>
</
tr
>
</
table
>
</
jodd:form
>
</
form
>