W zwykłym JSP mogę zdobyć pierwszą pozycję EL ${form.items[0]}
, ale w tagu JSP to samo wyrażenie rzuca następujący wyjątek:Jak zdobyć pozycję z [] atrybutu String w JSTL tagu/JSP
javax.el.PropertyNotFoundException: nie można odnaleźć własności 0 w klasie java.lang.String
wartość ${form.items}
jest [Ljava.lang.String;@315e5b60
.
kodu JSP tag to:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="items" required="true" %>
${items[0]}
kodu JSP jest:
<%@ taglib prefix="t" tagdir="/WEB-INF/tags"%>
<t:input items="${form.items}"></t:input>
Może zapomniałem typ atrybutu lub coś innego? Dlaczego sposób dostępu do wartości różni się w JSP i tag JSP?
Dzięki, pierwsze rozwiązanie działa (type = "java.lang.String []"). Po drugie - nie działa, próbowałem go wcześniej. –
Użycie java.lang.Object pozwala znacznikowi uzyskać zarówno tablice, jak i java.util.List. To może być przydatne w niektórych przypadkach. – marcus