Это фрагмент кода, который вызывает исключение. Это из тега 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 (как вы указали, это ваш случай).