2013-12-06 3 views
0

У меня есть карта с парами ключ-значение. Я хочу отобразить ключ в раскрывающемся списке и значение, которое будет отправлено на сервер для определения того, что выбрано.Drop-Down in Struts 2

Я использую Struts2. Я попытался поместить карту в список избранных тегов, однако она показывает значения в раскрывающемся списке.

+2

ca u предоставить образец кода? –

ответ

4

Используйте атрибуты listKey и listValue атрибута <s:select>, чтобы получить свойства из списка объектов.

Для того, чтобы обменять ключи и значения в карте поместить значение в listKey и ключа в listValue.

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

@SiddharthTrikha: Это также отвечает на ваш другой вопрос: http://stackoverflow.com/q/20417711/1700321. –

+0

Да. Он отвечает :) –

1

Насколько вам известно, выпадающий список в Struts2 может использоваться со списком или любой другой коллекцией, такой как карта. Он использует OGNL для извлечения значений для текста и значений параметров.

Отличие от списка - это преобразование карты через entrySet() и итерация, чтобы получить элемент Map.Entry для выбора. Этот объект можно использовать для сопоставления ключа и значения для раскрывающегося списка. Он имеет getKey() и getValue() методы, которые полезны для OGNL для заполнения выпадающего списка. Первый используется для заполнения атрибута value, который представляется в действие, если он выбран, а второй заполняет текст опции.

Если в раскрывающемся списке отображаются значения, то вы их неправильно сопоставляете. Значения должны отображаться как клавиши Map и отображать тексты как значения.