2

私は、JSPと同等のフリーマーカーftlを作成する必要がある1つのPOCに取り組んでいます。目的は、jspと同等のftlファイルを作成するのがいかに簡単かを調べることです。jspファイルでいくつかのスクリプトレットに出くわしましたが、ftlのコードで同じものを書くためにどのアプローチを取るべきかわかりません。スクリプトレットコードをサポートするタグを作成しますか..しかし、スクリプトレットごとにタグを作成するのはコストがかかりすぎます(ここでは完全に間違っている可能性があります)。私はここで立ち往生しています。sriptletで同じコードを書くための最良のアプローチを教えてください。

ありがとう、ハヌマント。

4

1 に答える 1

6

FreeMarker と JSP の主な違いの 1 つは、FreeMarker がテンプレート内の Java コードの任意のスニペットをサポートしていないことです。関心の分離に関する限り、これは非常に良いことです。

JSP スクリプトレットを FreeMarker テンプレートに変換する必要がある場合は、まずスクリプトレットが実際に何をするかを調べる必要があります。それらのいくつかは、同等のマクロに置き換えることができます。例えば:

<% if (x < 3) { %>

次のように簡単に置き換えることができます。

<#if (x < 3)>

あなたはアイデアを得る。

残りのスクリプトレットは、カスタム FreeMarker マクロに置き換えることができますが、代わりに次の質問を自問する必要があります: テンプレートでやりすぎていませんか?

Java コードを含む可能性のある一般的なマクロを作成することに関しては、JSP は実際には実行時にサーブレットにコンパイルされますが、FreeMarker テンプレートの処理には Java コンパイルが含まれないため、非常に困難です。繰り返しになりますが、これは良いことです。

于 2011-04-14T08:20:37.113 に答える