org.apache.el.parser.ParseException: найдено "" ["" [" - PullRequest
0 голосов
/ 26 декабря 2011

У меня есть метод util el , который получает объект в списке с индексом

public static Object get(List list, Integer index) {
        return list.get(index);
    }

и я вызываю этот метод на странице xhtml , чтобы получить имя первого элемента в списке следующим образом:

<span>#{[utils:get(myBean.myList,1)].name}</span>

но приведенное выше выражение дает мне следующее исключение:

org.apache.el.parser.ParseException: Encountered " "[" "[ "" at line 1, column 3.
Was expecting one of:
    <INTEGER_LITERAL> ...
    <FLOATING_POINT_LITERAL> ...
    <STRING_LITERAL> ...
    "true" ...
    "false" ...
    "null" ...
    "(" ...
    "!" ...
    "not" ...
    "empty" ...
    "-" ...
    <IDENTIFIER> ...

есть идеи, почему?

1 Ответ

3 голосов
/ 27 декабря 2011

Это потому, что это неверный синтаксис.Допустимый синтаксис EL описан в документе спецификации EL .Нотация в скобках [] используется для получения списка или элемента массива по индексу и для динамического разрешения ключей карты.Ниже приведен правильный синтаксис в вашем случае:

<span>#{utils:get(myBean.myList,1).name}</span>

Однако пользовательская функция не нужна.Просто используйте следующий синтаксис:

<span>#{myBean.myList[1].name}</span>
...