Jsf <;上的EL语法错误;c:如果>;

Jsf <;上的EL语法错误;c:如果>;,jsf,el,Jsf,El,我试图为链接创建一个条件,如果长度不等于0,则显示描述,但我得到一个语法错误,代码是: <c:if test="#{fn:length(#{pqfn:format('ACTUAL_LINK')}) != 0}"> <h:outputLink id="link1" value="#{pqfn:format('LINK_DESCRIPTION')}"/> </c:if> 我收到的错误是: Caused by: org.apache.el.parser

我试图为链接创建一个条件,如果长度不等于0,则显示描述,但我得到一个语法错误,代码是:

<c:if test="#{fn:length(#{pqfn:format('ACTUAL_LINK')}) != 0}">
    <h:outputLink id="link1" value="#{pqfn:format('LINK_DESCRIPTION')}"/>
</c:if>

我收到的错误是:

Caused by: org.apache.el.parser.ParseException: Encountered " <ILLEGAL_CHARACTER> "{ "" at line 1, column 14.
Was expecting one of:
    "." ...
    ")" ...
    "[" ...
    "," ...
    ">" ...
    "gt" ...
    "<" ...
    "lt" ...
    ">=" ...
    "ge" ...
    "<=" ...
    "le" ...
    "==" ...
    "eq" ...
    "!=" ...
    "ne" ...
    "&&" ...
    "and" ...
    "||" ...
    "or" ...
    "*" ...
    "+" ...
    "-" ...
    "/" ...
    "div" ...
    "%" ...
    "mod" ...
由以下原因引起:org.apache.el.parser.ParseException:在第1行第14列遇到“{”。
我期待的是:
"." ...
")" ...
"[" ...
"," ...
">" ...
“gt”。。。
"=" ...
“ge”。。。

“您似乎将一个EL表达式嵌套在另一个EL表达式中…这不起作用:

#{fn:length(#{pqfn:format('ACTUAL_LINK')}) != 0}
            ^
      can't do this

您似乎将一个EL表达式嵌套在另一个表达式中…这不起作用:

#{fn:length(#{pqfn:format('ACTUAL_LINK')}) != 0}
            ^
      can't do this

您不能将EL表达式嵌套在
{…{…}}
中。这没有任何意义。您应该将EL表达式
{…}
视为一个大范围,其中各种EL范围的变量和EL函数可以相互作用

正确的语法是:

<c:if test="#{fn:length(pqfn:format('ACTUAL_LINK')) != 0}">


抛出您得到的特定异常是因为EL解析器意外地遇到了
{
,而此时需要列出的字符序列之一。

您不能像
{…{…}}
那样嵌套EL表达式。这没有任何意义。您应该看到EL表达式
{…}
作为一个大范围,各种EL范围的变量和EL函数可以相互作用

正确的语法是:

<c:if test="#{fn:length(pqfn:format('ACTUAL_LINK')) != 0}">

抛出您得到的特定异常是因为EL解析器意外地遇到了
{
,而此时需要列出的字符序列之一