2017-12-13 7 views
0

いくつかのVelocityコードを使用するプロジェクトを継承しました。 http://velocity.apache.org/速度:#if、#else、#endの前後のスペース?

私の質問は簡単で、速度とより経験豊富ですが、私はコードでextra spacesまたはmissing spacesに対処するバグを修正するために持っている人に、おそらく少しナイーブかもしれません。

#if (${INCOMPLETE_ACCOUNT})Click "Use Now" to confirm your new Acme ID account $!{MM_ID}. You will be asked to create a password if you haven’t already done so. #elseClick below to download or sign into your new products.#end 

これは有効ですか?私は同僚に、elseendの前後にスペースが必要かどうかを尋ねましたが、彼らは知らなかったと主張しました。誰かが言った、 "必ず前にスペースを入れて#end。"しかし、実際にはそのルールに従わない。

私は(上記の私の例のように)テキスト内のelseがそうのように使用しなければならないことを説明し、いくつかの文書が見つかりました:

#if($foo == $bar)it's true!#{else}it's not!#end 

を(参照:http://people.apache.org/~henning/velocity/html/ch05s03.html)を

質問:私は必要ですかスペース?現在#{else}は安全ですか? 1つの方法が推奨されていますか?あなたのコードに#if#else、#endをどのように使っていますか?

+0

他の後も私の答えにテキストに関するオプションを追加 – user7294900

答えて

1

あなたは速度のspacesは必要ありません。

Velocityの動作は、余分な空白を飲み込んすることです。

#set($foo=["$10 and ","a pie"])#foreach($a in $foo)$a#end 

あなたがレンダリングされているファイルは、スペースのために不寛容であるため、時にはあなたは、スペースを追加することはできません。

#{else}と右後に他のテキストを書くことについて、あなたはmailing listで提案されているように、後の速度のコメントを使用するように変更することができます。

#if($foo == $bar)it's true!#else#**#it's not!#end