小编典典

headerKey =“-1”有什么问题?

jsp

出什么问题了:

<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/错误选择http://www.mkyong.com/struts2/struts-2-sselect-drop-down-box
-例/

但是实际的文档(您可以通过将鼠标悬停在符号上来在Eclipse的工具提示上查看)

列表中第一项的键。一定不能为空!’-1’和’是正确的,’是错误的。

-1在我看来似乎很合逻辑,无论如何都不应该是一个有效的选择。“正确”对我来说在任何层面上都没有意义,因此我对此不太担心。


阅读 352

收藏
2020-06-08

共1个答案

小编典典

密钥没什么问题,但是docs可能有点问题:-1是整数密钥,'-1'字符串,''空字符,""空字符串,但密钥不应为空。因此-1'-1'' '" "是有效的值。从文档:

“ 1”是字符,“ 01”是字符串,“
1”是字符串。这很重要,因为如果“值”属性返回的值与“列表”属性中的键的类型不同,则即使它们的字符串值相等,它们也不会匹配。如果它们不匹配,则列表中的任何内容都不会被自动选择。

你应该提供的listKey属性对应的字段类型,因此-1是数字类型的整数,而不是' '" "用于字符和字符串类型。

框架在比较select标记的键和值时使用类型转换,为避免在OGNL运行时某处发生类型转换错误,最好提供正确的类型,并且两个键属性具有相同的类型。如果键值(不应该为空)与两个属性中指定的值匹配,则将填充标头值选项。

2020-06-08