has_content
を使用して、ブール値としてテストする前にマッププロパティが空でないかどうかをチェックしようとしています。データモデル(痛みを伴うと退屈な理由による)ブール値の代わりに空の文字列をフィールドに入力します。私がしようしかしFreemarker "has_content" builtinが予期しないエラーの原因となる
、
<#if (mecflag?has_content && mecflag)>
(意味変数が空ではない、それはブールtrue
だ場合ならば、私は」、と思う)、私はエラーを取得します。エラーは、Freemarkerのが好きではないと言います。。。
has_content
はキャメルケース識別子ではないことを本当に奇妙思われる
私は現在の安定Freemarkerの、2.3.25だと思うものを使用してい
エラーテキスト事実
命名規則の不一致。ユーザーが指定したものではなく、テンプレート言語の一部である識別子は、同じテンプレート内で同じ命名規則を一貫して使用する必要があります。このテンプレートは、行37、列121でトークン "upperCase"によって自動検出によって設定されたラクテルケース命名規則(exampleNameなど)を使用しますが、問題のあるトークン "has_content"は別の規則を使用します。
はい、あなたの質問に引用したエラーメッセージには同じことが示されていませんか?また、これに関してドキュメントが一貫していない場所を教えてください。 – ddekany
@ddekanyよく、私は 'has_content'のような文書を' has_content'で見つけました。私は '' upperCase'などについて既に知っていました。Freemarkerが 'upper_case'と' upperCase'または 'has_content'と' hasContent'の両方を受け入れることは知らなかった時点では、エラーメッセージはまったく役に立ちませんでした。私はどのようにドキュメントを改善できるか分かりません。 – Pointy
@ddekanyが言った、私はFreemarkerのメンテナーであることに感謝します。それは素晴らしいツールです。 – Pointy