Jsf 2 org.apache.el.parser.ParseException:遇到“异常”&引用;[quot;[quot;
我有一个utilel方法,它在一个带有索引的列表中获取一个对象Jsf 2 org.apache.el.parser.ParseException:遇到“异常”&引用;[quot;[quot;,jsf-2,el,Jsf 2,El,我有一个utilel方法,它在一个带有索引的列表中获取一个对象 public static Object get(List list, Integer index) { return list.get(index); } 我在xhtml页面中调用这个方法来获取列表中第一个元素的名称 详情如下: <span>#{[utils:get(myBean.myList,1)].name}</span> {[utils:get(myBean.myList,
public static Object get(List list, Integer index) {
return list.get(index);
}
我在xhtml页面中调用这个方法来获取列表中第一个元素的名称
详情如下:
<span>#{[utils:get(myBean.myList,1)].name}</span>
{[utils:get(myBean.myList,1)].name}
但上面的表达给了我以下的例外:
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> ...
org.apache.el.parser.ParseException:在第1行第3列遇到“[”“[”。
我期待的是:
...
...
...
“真的”。。。
“假”。。。
“空”。。。
"(" ...
"!" ...
“不是”。。。
“空的”。。。
"-" ...
...
知道为什么吗?那是因为它的语法无效。中描述了有效的EL语法。大括号符号
[]
用于按索引获取列表或数组项,并动态解析映射的键。在您的情况下,以下语法有效:
<span>#{utils:get(myBean.myList,1).name}</span>
{utils:get(myBean.myList,1.name}
但是,自定义函数是不必要的。只需使用以下语法:
<span>#{myBean.myList[1].name}</span>
{myBean.myList[1].name}
这是因为它的语法无效。中描述了有效的EL语法。大括号符号[]
用于按索引获取列表或数组项,并动态解析映射的键。在您的情况下,以下语法有效:
<span>#{utils:get(myBean.myList,1).name}</span>
{utils:get(myBean.myList,1.name}
但是,自定义函数是不必要的。只需使用以下语法:
<span>#{myBean.myList[1].name}</span>
{myBean.myList[1].name}
是;“[”
不允许出现;如果您试图确定应用于.name
的内容的范围,则可以使用参数。是;“[”那里不允许使用“
”;如果您试图确定应用的是什么,.name
,则可以使用paren。如何在JS中迭代该列表,请参见我的另一个问题:如何在JS中迭代该列表,请参见我的另一个问题: