出什么问题了:
<s:select list="fruits" name="fruitSelect" id="fruitSelect"
listKey="fid" listValue="fname" headerKey="-1" headerValue="Pick a fruit!" />
很多在线示例都使用这个值:http://www.coderanch.com/t/439139/Struts/wrong-select
http://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/
但实际文档(您可以通过将鼠标悬停在符号上来在 Eclipse 的工具提示上查看此内容)说
列表中第一项的键。一定不能为空! '-1' 和 '' 是正确的,'' 是
坏的。
-1 对我来说似乎很合乎逻辑,无论如何它不应该是一个有效的选项。 “是正确的”对我来说在任何层面上都没有意义,所以我不太担心它。
密钥没有问题,但文档可能有点问题:-1
是一个整数键,'-1'
是一个字符串,''
是一个空字符,""
是一个空字符串,但 key 不能为空。因此-1
, '-1'
, ' '
, " "
是有效值。来自文档:
'1' 是一个字符,'01' 是一个字符串,“1”是一个字符串。这很重要,因为如果
“value”属性返回的值与“list”属性中的键的类型不同,它们
不会匹配,即使它们的字符串值可能相等。如果不匹配,则列表中没有任何内容
将被自动选择。
您应该向listKey
属性对应的字段类型,所以-1
用于数字类型的整数,而不是' '
and " "
适用于字符和字符串类型。
该框架在比较键和值时使用类型转换select
标签并避免在 OGNL 运行时某处发生类型转换错误,您最好正确提供类型,并且两个关键属性具有相同的类型。如果键值(不应为空)与两个属性中指定的值匹配,则将填充标头值选项。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)