org.apache.el.parser.ParseException:遇到“”[“”[“

时间:2011-12-26 16:38:14

标签: jsf-2 el

我有一个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 个答案:

答案 0 :(得分:3)

那是因为它的语法无效。 EL specification document中描述了有效的EL语法。括号符号[]用于按索引获取列表或数组项,并动态解析映射的键。以下是您的有效语法:

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

但是,自定义功能是不必要的。只需使用以下语法:

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