Вопрос

Я пытаюсь выполнить следующее в теге JSP:

Выбрать.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>
.

Использование: (MyCoLlectionAttribute определяется с @Modelattribute («MyCoLlectionAttribute»))

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

Однако я не могу выяснить, как правильно сопоставить коллекцию элементов с вызывающей страницы к этому тегу.Эл не будет оцениваться и отправляется как строка, вызывая следующую ошибку:

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

Я использую красивую старую версию JSTL, тот, который в комплекте с JBoss 4.04Ga, может ли это быть проблемой?Я не уверен, что если выражения EL оцениваются точно, $ {x} непосредственно в Markup не оценивается, например, он работает только в специальных тегах.Может ли обновление решить эту проблему?И если это так, насколько усердно используют свой собственный JSTL Lib вместо того, чтобы в комплекте с jboss?

Это было полезно?

Решение

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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top