3

かなり些細に思える問題がありますが、解決できませんでした。Velocity-Templates には$contentFormDb、データベースからのコンテンツが入力された変数があります (MVC アプリのコントローラー内)。この変数には、リテラル文字列だけでなく、さらに速度ディレクティブ ( など" #set($test = "test) $test"、以下の例を参照) も含まれます。

$contentFromDBテンプレートで使用すると、Velocity はコンテンツを「文字通りの方法」でテンプレートに出力します。たとえば、変数$contentFromDBに文字列が含まれている場合 (これはコントローラーで設定されています) 、速度テンプレートで" #set($test = "test) $test"はなくリテラル出力を使用します。#set($test = "test) $testtest

#parse()変数に与えることができ、変数を評価するディレクティブのようなものが必要$contentFromDBです。#parse($contentFormDb)ただし、#parse()評価/解析するファイルのみを受け入れます。

多分私はここで何かを完全に誤解しています...しかし、この問題を解決する方法は、テンプレートで評価する必要があるDBからのコンテンツを持つ標準的なユースケースのようです...

どうもありがとうございました!!1月

4

2 に答える 2

3

#evaluateディレクティブは、あなたが望むことをするように見えます。

于 2010-02-25T09:11:06.763 に答える
0

#parse()を介してVelocimacrosを登録できます

これはVelocity1.6で可能になりました。

于 2011-05-04T09:51:24.000 に答える