Java Struts list listKey listValue listClass? - PullRequest
0 голосов
/ 29 мая 2009

Хорошо знаком с java и имеет проблемы с назначением атрибута класса этим опциям SELECT. хотел знать, правильно ли работает listClass? То, что я пытаюсь сделать, это добавить атрибут класса к опциям выпадающего списка SELECT

Что у меня есть:

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="ford">F150</option>
</select>

Что бы я хотел:

<select>
  <option class="car" value="volvo">Volvo</option>
  <option class="car" value="saab">Saab</option>
  <option class="car" value="mercedes">Mercedes</option>
  <option class="truck" value="ford">F150</option>
</select>

Вот код JSP:

<s:select id="theSelectId" 
   name="theDto.id" 
   value="#attr.theDto.field_id" 
   list="theDtoList" 
   listKey="field_id" 
   listValue="field_value"/>

Есть ли список классов? или другой способ вытащить нужные мне значения?

Ответы [ 3 ]

0 голосов
/ 30 мая 2009

Для этого я подозреваю, что вам придется свернуть свой собственный тег. Вы можете создать новый тег myselect, который принимает параметр optionClass, который устанавливает этот класс для каждого элемента option.

0 голосов
/ 02 ноября 2009

Похоже на Struts s: select имеет ту же проблему, что и JSF h: selectOneMenu: невозможность указать класс для каждого отдельного параметра. Я не делаю Sruts, поэтому я не могу дать подробный и специфичный для Struts ответ, но, в сущности, вам нужно изменить / переопределить средство визуализации компонента s: select, чтобы он получил дополнительный атрибут, который вы, наконец, можно использовать для указания опций классов. Нечто подобное, как в этом примере JSF .

Если вам не удастся сделать это на стороне сервера из-за ограничений в структурах или ограничений в ваших возможностях, подумайте об использовании библиотеки Javascript, такой как вышеупомянутый jQuery. Пример будет тогда:

var optionClasses = ['volvo', 'saab', 'mercedes'];
$('#dropdownId option').each(function(index, optionElement) {
    $(optionElement).class(optionClasses[index]);
});
0 голосов
/ 29 мая 2009

Я только что быстро проверил API библиотеки тегов Struts, и похоже, что атрибут styleClass для тега выбора Struts создаст атрибут класса.

http://struts.apache.org/1.x/struts-taglib/tlddoc/html/select.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...