Question

J'essaie d'accomplir ce qui suit dans une étiquette JSP:

SELECT.TAG

<%@ attribute name="id" required="true" %>
<%@ attribute name="path" required="true" %>
<%@ attribute name="items" required="true" %>
<%@ attribute name="itemLabel" required="false" %>
<%@ attribute name="itemValue" required="false" %>

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<form:select path="${path}" id="${id}">
    <form:options items="${items}" itemLabel="${itemLabel}" itemValue="${itemValue}"/>
</form:select>

Utilisation: (MyCollectionAttribute est défini avec @modelattribute ("MyCollectionAttribute"))

<tags:select items="${mycollectionattribute}" id="id" path="mybean.selectvalue" itemLabel="label" itemValue="id"/>

Cependant, je ne peux pas comprendre comment cartographier correctement la collection d'éléments de la page d'appel à cette balise.El ne semble pas être évalué et est envoyé sous forme de chaîne, ce qui provoque l'erreur suivante:

javax.servlet.ServletException: Type [java.lang.String] is not valid for option items

J'utilise une assez ancienne version de JSTL, celle fournie avec JBoss 4.04GA, pourrait-il être le problème?Je ne sais pas quand les expressions El sont évaluées exactement, $ {x} directement dans le balisage n'évaluent pas par exemple, cela ne fonctionne que dans des balises spéciales.Une mise à niveau peut-elle résoudre ce problème?Et si oui, quelle est la dure d'utiliser votre propre JSTL Lib au lieu de celle fournie avec JBoss?

Était-ce utile?

La solution

Solved.

Was using mismatching servlet versions (2.5 specified, but JBoss 4 uses 2.4), both as dependency and in in web.xml. So EL wasn't working like it should.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top