すべて。速度テンプレートでjava5列挙型を使用する必要があります。これにより、次のように記述できます。
パブリック列挙型レベル{ 情報、エラー; } 速度テンプレート: #if($ var == Level.INFO) ..。 #そうしないと ..。 #終わり
どのようにそれを行うことができますか?前もって感謝します。
実際には、toString() メソッドの代わりに name() を使用することをお勧めします。これは、列挙型の値を正確に返し、最終的なものであるため、将来オーバーライドできないためです。したがって、速度では次のようなものを使用できます
#if($var.name() == "情報")
Velocity 1.5 では、== で比較される 2 つの項目が異なるクラスである場合、両方に対して toString() が自動的に実行されます。だから試してみてください
#if($var == "INFO")
きれいではありませんが、回避策の1つは、必要な列挙型定数をVelocityコンテキストに(手動で)配置することです。
request.setAttribute('level_info', Level.INFO);
request.setAttribute('level_error', Level.ERROR);
その後、あなたは言うことができます
#if ($var == $level_info)
たぶん簡単:toString()
列挙型インスタンスのを使用するだけです
#if ("$var" == 'INFO')