2016-07-27 32 views
0

Welche Version von EL werden Sätzen und Listen unterstützt? Ich versuche, eine Reihe von Daten in Java Expression Language

${{"cat", "dog", "giraffe"}} 

ich die folgende Ausnahme erhalten zu definieren:

javax.el.ELException: Failed to parse the expression [${{"cat", "dog", "giraffe"}] 
    org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:146) 
    org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:172) 
    org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:217) 
    org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:67) 
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1025) 
    org.apache.jsp.user_jsp._jspService(user_jsp.java:78) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 
+0

EL 3+, IIRC .... –

Antwort

0

Welche Behälter verwenden Sie? Hier ist Demo-Code, der in meinem Tomcat 8 funktioniert.

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %> 
<c:set var="animalList" value='${["cat","dog","giraffe"]}'/> 
<html> 
    <body> 
      <c:forEach items="${animalList}" var="animal"> 
       ${animal} 
      </c:forEach> 
    </body> 
</html> 
+0

Ich benutze Tomcat 7.0 –

1

Expression Language 3.0 unterstützt Listen, Mengen und Karten. Tomcat 7.0 unterstützt nur EL 2.2. Deshalb funktioniert mein Skript nicht.

+0

Klammern [] werden für Listen verwendet, geschweifte Klammern {} werden für Sätze verwendet. –