minimize

事業拡大のため、新しい仲間を募集しています。
→詳しくはこちら

Struts(1.1対応)についての各種Tipsです。
新しく書いたものが上になるように並べてあります。

scopeを指定する

Strutsで使用するタグの多くに存在する属性に scope があります。
これは指定された bean を検索するスコープを特定するもので、
省略した場合は全てのスコープから検索されるのでついつい省略してしまいがちです。

これは便利なのですが、当然その為のコストも掛かるので
出来る限り省略せずに指定した方が良いでしょう。
ちなみに全スコープから検索する場合は
page → request → session → application
の順に検索します。

pageやrequestでは省略してもそれほどコストの浪費はありませんが、
session以降のスコープを利用する際にはscope属性を明記した方が良いでしょう。

filterを指定しよう

これも多くのタグで使用可能な属性です。
HTML内では < や > などは特殊文字として扱われる為、
bean が表現する文字列の中にこれらの文字が入っていた場合には
エスケープ処理をしてやる必要があります。

filter 属性を true にすると、このエスケープ処理を Struts が自動的に行ってくれます。
ここで、僕は声を大にして言いたい。
「なぜこの属性値のデフォルトがtrueなんじゃ〜」
エスケープ処理は便利ですが、その為のコストたるや馬鹿にできません。

デフォルトで true になっているという事は、filter 属性を省略して記述した全てのタグ内では
この重い処理を毎回行っている事になるのです。
エスケープ処理が明らかに必要無い部分では、面倒でも是非 filter="false" を記述しましょう。
いつの日か、このデフォルト動作が変更できるようになる事を切に願います。