SSI タグレットのロードと使用

local.properties ファイルは、SSIFilter によってデータの事後処理に使用されます。local.properties ファイルは手動でも編集できますが、JRun 管理コンソールには、これらのプロパティの設定に使用できるグラフィカル インターフェイスが用意されています (JRun 管理コンソールの詳細については、『JRun セットアップ ガイド』を参照)。

local.properties ファイルは、SSI タグレットとサーブレット間のマッピングを示す、名前/値ペアを定義する際に使用します。このファイルは、JRun のホーム ディレクトリ/servers/サーバー名というディレクトリに格納されています。サーバー名は JRun のサーバー名に対応します。一般的な構文は次のとおりです。

ssifilter.<tagname>.dynamictaglet=<servlet class name|servlet alias>

tagname には、サーブレットの呼び出しに使用するタグの名前を設定します。servlet class name にサーブレットの完全修飾のクラス名を設定するか、または servlet alias にサーブレットのエイリアスを設定します (Web サーバーの Servlet Engine > Aliases コントロールの JRun 管理コンソールで定義されているとおりに設定します)。tagname の値には、servlet class name または servlet alias のいずれかを使用できます。

たとえば、次の例は、SHTML ファイル内のサーブレット SnoopServlet を呼び出す foo タグを定義しています。

ssifilter.foo.DynamicTaglet = SnoopServlet

この例では、SnoopServlet がサーブレットのクラス名になります。このマッピングを定義することにより、Web ドキュメントの作成者は次のようにドキュメント内に SnoopServlet を呼び出すことができます。

<foo></foo>

SSI タグレットでは、次のように サーブレットにパラメータを渡すことができます。

<foo name1=value1 name2=value2 name3=value3>
Hello World
</foo>

これにより、サーブレット ライターは、サーブレット内の request オブジェクトの getParameter() メソッドを使用して、名前/値ペアを取得できるようになります。たとえば、パラメータ name1 の値を取得するには、サーブレットで次のメソッドを実行します。

request.getParameter(“name1”)

SSI タグレットの本体 (上の例の場合は Hello World) は、次のメソッドで取得できます。

request.getAttribute(“taglet.body.foo”)

タグレットの名前は、taglet.body.key 文字列の 3 番目のキーです。タグレットの名前が DATETAG のときは、getAttribute("taglet.body.datetag") を使用します。一般に、このメソッドは、先頭の <foo> タグと末尾の </foo> タグの間にあるすべてのテキストを返します。属性名には小文字を使用することに注意してください。