2017-07-27 19 views
0

リストオブジェクトdfeNumberの現在のインデックスの値にアクセスしようとしていますが、これがこの番号の最初のインスタンスかどうか、ビジュアルブレークを追加します。私はFreemarker(以前は周りのCSS)で働いたことが一度もなく、Apacheマニュアルを調べるのに少し時間を費やしましたが、この種の使用法の例は見つかりません。私はそれが似ていると思う:IF文(Freemarker)で使用するリストの特定のインデックスの値へのアクセス

<#assign msaReached=0> 

<#list invName as invNames> 

<#if ${dfeNumber[invNames_index]} = "900"> 
    <#assign msaReached++> 
    <#if msaReached=1> 
    -- do stuff -- 
    </#if> 
</#if> 

私はシナリオでの使用のための構文の例を教えてくれますか?どんな助けでも大歓迎です。

答えて

0

いくつかの試行錯誤の後、私はこの組み合わせを使用したことがない実現:

働い
<#if dfeNumber[invNames_index] = "900"> 

+1

'#if'のドキュメントには、「式はブール値に評価されます」と書かれており、式についての章もあります。 2人を一緒にして、あなたはこれを手に入れます。また、古いFreeMarkerバージョンは使用しないでください。しばらくの間、このエラーメッセージが表示されます。これはあなたの時間を節約します。 'FreeMarker-expression-modeに既に入っているので、ここでは" $ {"を使うことはできません。したがって、$ {myExpression}の代わりに、myExpressionだけを書きます。 ($ {...}は、それ以外の静的テキストが必要な場合、つまりFreeMarkerタグや$ {...} - sの外側にある場合にのみ必要です)。 – ddekany

+1

将来の読者のためにも、 'dfeNumber [invNames_index]'が数字(数字のような文字列ではなく)であれば '= 'を使わずに' = 900'を使います。正式な形式ですが、 '='は下位互換性のためにここでも同じです) – ddekany

+0

説明していただきありがとうございます。コンソールを使用するのではなく、フラットファイルにリダイレクトした後、ログファイルにエラーメッセージを配置できました。私は正しい構文に私を導きました。また、 "=="についてのヒントについても感謝します。 – MISMajorDeveloperAnyways

関連する問題