Struts 2 中的下拉菜单

问题描述 投票:0回答:2

我有一张带有键值对的地图。我想在下拉列表中显示键,并将值发送到服务器以识别所选内容。

我使用的是Struts2。我尝试将

Map
放入
<s:select>
标签
list
中,但它显示了下拉列表中的值。

jsp struts2 dropdown struts-tags
2个回答
4
投票

使用

listKey
标签的
listValue
<s:select>
属性从对象列表中获取属性。

为了交换映射中的键和值,请将 value 放入

listKey
并将 key 放入
listValue

<s:select list="someMap" listKey="value" listValue="key"/>

2
投票

据您所知,Struts 2 中的下拉菜单可以与

List
或任何其他集合(如
Map
)一起使用。它使用 OGNL 检索选项文本和值的值。

List
的区别在于
Map
是通过
entrySet()
转换并迭代得到选择选项的
Map.Entry
元素。

您可以使用此对象为下拉列表映射

key
value
。它有
getKey()
getValue()
方法,对于 OGNL 填充下拉列表很有用。第一个用于填充
value
属性,如果选择该属性,则将其提交给操作,第二个用于填充选项的文本。

如果您的下拉列表显示值,则说明您映射了错误的值。这些值应映射为

Map
的键,并将文本显示为值。

© www.soinside.com 2019 - 2024. All rights reserved.