Pregunta

Estoy tratando de lograr lo siguiente en una etiqueta 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>

Uso: (MyCollectionAttribute se define con @ModelAttribute ("MyCollectionAttribute"))

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

Sin embargo, no puedo descubrir cómo asignar correctamente la colección de elementos de la página de llamadas a esta etiqueta.El no parece ser evaluado y se envía como una cadena, lo que provoca el siguiente error:

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

Estoy usando una versión bastante antigua de JSTL, la única con JBoss 4.04GA, ¿podría ser este el problema?No estoy seguro de cuándo se evalúan exactamente las expresiones de EL, $ {x} directamente en MarkUp no se evalúa, por ejemplo, solo funciona en etiquetas especiales.¿Podría una actualización resolver este problema?Y si es así, ¿qué tan difícil es usar su propio JSTL LIB en lugar de la que se incluye con JBoss?

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top