Ceci est le morceau de code qui lève l'exception. C'est à partir de la balise 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()));
}
}
Je ne sais pas ce que votre installation complète est depuis que vous avez publié une seule ligne de code, mais il est évident que vous ne l'envoyez la collection à droite (vous envoyez un com.SelectTagForm
comme le message d'erreur indique).
Lisez attentivement the documentation; et here est un tutoriel simple. Autre chose, cette balise fonctionne sur une collection de beans, où chaque bean a une propriété label et une propriété value (les noms réels de ces propriétés peuvent être configurés à l'aide des attributs label
et value
de cette balise). Vous ne pouvez pas extraire quelque chose comme ça à partir d'un Integer ArrayList (comme vous l'avez spécifié).