我有一个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> ...
任何想法为什么?
答案 0 :(得分:3)
那是因为它的语法无效。 EL specification document中描述了有效的EL语法。括号符号[]
用于按索引获取列表或数组项,并动态解析映射的键。以下是您的有效语法:
<span>#{utils:get(myBean.myList,1).name}</span>
但是,自定义功能是不必要的。只需使用以下语法:
<span>#{myBean.myList[1].name}</span>