0

長さが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" ...
4

2 に答える 2

3

のように EL 式をネストすることはできません#{... #{... ...} ...}。これは意味がありません。EL 式は#{... ...}、さまざまな EL スコープ変数と EL 関数が相互にやり取りできる 1 つの大きなスコープとして表示されます。

適切な構文は次のとおりです。

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

{リストされた文字シーケンスの 1 つがその時点で予期されていたときに、EL パーサーが予期せず発生したため、取得した特定の例外がスローされます。

于 2013-09-23T15:13:44.557 に答える
2

EL式を別のEL式にネストしているようです...うまくいきません:

#{fn:length(#{pqfn:format('ACTUAL_LINK')}) != 0}
            ^
      can't do this
于 2013-09-23T15:13:25.177 に答える