Struts(1.1対応)についての各種Tipsです。
新しく書いたものが上になるように並べてあります。
Strutsで使用するタグの多くに存在する属性に scope があります。
これは指定された bean を検索するスコープを特定するもので、
省略した場合は全てのスコープから検索されるのでついつい省略してしまいがちです。
これは便利なのですが、当然その為のコストも掛かるので
出来る限り省略せずに指定した方が良いでしょう。
ちなみに全スコープから検索する場合は
page → request → session → application
の順に検索します。
pageやrequestでは省略してもそれほどコストの浪費はありませんが、
session以降のスコープを利用する際にはscope属性を明記した方が良いでしょう。
これも多くのタグで使用可能な属性です。
HTML内では < や > などは特殊文字として扱われる為、
bean が表現する文字列の中にこれらの文字が入っていた場合には
エスケープ処理をしてやる必要があります。
filter 属性を true にすると、このエスケープ処理を Struts が自動的に行ってくれます。
ここで、僕は声を大にして言いたい。
「なぜこの属性値のデフォルトがtrueなんじゃ〜」
エスケープ処理は便利ですが、その為のコストたるや馬鹿にできません。
デフォルトで true になっているという事は、filter 属性を省略して記述した全てのタグ内では
この重い処理を毎回行っている事になるのです。
エスケープ処理が明らかに必要無い部分では、面倒でも是非 filter="false" を記述しましょう。
いつの日か、このデフォルト動作が変更できるようになる事を切に願います。
|
|