0

作業中の JSP ファイルに Java Map オブジェクトをインポートしました。私がしなければならないことは、そのマップの各エントリを取得して、JSP のテーブルに入れることです。私はスクリプトレットについて非常に精通しているように振る舞うつもりはありませんが、スクリプトレットはすべて実行前に評価され、コードに配置されることがわかります。これにより、個々のエントリへのアクセスが困難になります。現在、マップで toString を実行し、正規表現を使用して情報を解析することで機能していますが、より安全に実行したいと考えています。

これはどのように達成できますか?

4

2 に答える 2

1

実行前にスクリプトレットが評価されるというあなたの仮定は間違っています。スクリプトレットは次の例のように機能します。

<p> Hello world </p>
<% 
while (something) {
    doSomeStuff();
}
%>
<p> Bye </p>

次のようなものにコンパイルされます。

stream.write("<p> Hello world </p>");
while (something) {
    doSomeStuff();
}
stream.write("<p> Bye </p>");

要するに、scriptlet にないものはstream.writeすべて に入れられ、- にあるものはすべてそのまま挿入されます。JSP をサポートするほとんどのアプリケーション サーバーでは、コンパイル済みの JSP サーブレットを見つけて、生成されたコードを確認することもできます。また、このアプローチにより、非常に高速になります。

したがって、スクリプトレットを作成しても問題ありません。

于 2013-05-09T14:03:53.230 に答える