详解property标签和textfield标签的name和value属性
假定message1的数值为hi.
1.property标签
根据value属性的string根据java bean的规范用get方法从值栈中取值,若没有get方法则获取不到数值
<s:property value="message1"/>,也可以用
<s:property value="%{message1}"/>,没有区别,但是为什么要多写代码呢?没有人用后一种方法,只是webwork支持用%{*}来进行ongl表达式取值。
<s:textfield name="message1"/>,实际输出为
<input type="text" name="message1" value="hi." id="message1"/>,这是最正常的写法,name,id和value都被设置了
<s:textfield value="%{message1}" name="sss"/>,实际输出为
<input type="text" name="sss" value="hi." id="sss"/>,name和id都被设置成标签里缩写的name的值sss了,当name不同,而数值一样,有可能会这样,比如我们在修改客户信息的时候,又想保持客户的原有信息就可以这么写,但是尽量还是用别的大家容易理解的方法写吧。
<s:textfield value="%{message1}"/>,这样会输出什么呢?这样输出的是
<input type="text" name="" value="hi." id=""/>,你肯定不需要这样的东西的。
<s:textfield name="%{message1}" value="%{'ddd'}"/>,再来个变态的
<input type="text" name="hi." value="ddd" id="hi_"/>