Раскрывающийся список для массива Integer с использованием html: select - PullRequest
0 голосов
/ 27 августа 2010

Я работал над приложением Stuts, где я использую Integer ArrayList.Мне нужно создать выпадающий список для списка arraylist.

Я пытался использовать html: select -> html: optioncollection.

Но я получаю ошибку Cannot create iterator for com.SelectTagForm@18488ef.

код:

<html:optionsCollection name="selectTagForm" 
label="grade" value="grade" />

Заранее спасибо !!!

1 Ответ

1 голос
/ 27 августа 2010

Это фрагмент кода, который вызывает исключение. Это из тега optionsCollection.

protected Iterator getIterator(Object collection)
  throws JspException {
  if (collection.getClass().isArray()) {
    collection = Arrays.asList((Object[]) collection);
  }
  if (collection instanceof Collection) {
    return (((Collection) collection).iterator());
  } else if (collection instanceof Iterator) {
    return ((Iterator) collection);
  } else if (collection instanceof Map) {
    return (((Map) collection).entrySet().iterator());
  } else if (collection instanceof Enumeration) {
    return new IteratorAdapter((Enumeration) collection);
  } else {
    throw new JspException(messages.getMessage(
        "optionsCollectionTag.iterator", collection.toString()));
  }
}

Не знаю, каковы ваши полные настройки, поскольку вы разместили только одну строку кода, но очевидно, что вы не отправляете ему нужную коллекцию (вы отправляете com.SelectTagForm, как указано в сообщении об ошибке). *

Внимательно прочитайте документацию ; и здесь - простое руководство.

Еще одна вещь, этот тег работает с коллекцией bean-компонентов, где каждый bean-компонент имеет свойство label и свойство value (фактические имена этих свойств можно настроить с помощью атрибутов label и value этого тега. ). Вы не можете извлечь что-то подобное из Integer ArrayList (как вы указали, это ваш случай).

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