上的 EL 语法错误

2024-05-25

我正在尝试为链接创建一个条件,其中如果长度不= 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" ...

您不能像下面那样嵌套 EL 表达式#{... #{... ...} ...}。这没有任何意义。您应该看到一个 EL 表达式#{... ...}作为一个大作用域,各种 EL 作用域变量和 EL 函数可以在其中相互交互。

正确的语法是:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

上的 EL 语法错误 的相关文章

随机推荐