JSPで行こう!

JSP内でクラスを定義するには?

JSP のスクリプトレット(<%~%>)は Servlet の service() に相当するメソッド内の記述になります。

ですので、この中でクラスの定義はできません。(無名クラスは使用可能です)

クラスやメソッドを定義するには、スクリプトレットの <%!~%> を使います。

Request 等を処理するメソッドの外の記述となり、変数やクラス(クラス内クラス)も定義することができます。

※変数は存続期間が問題になるので、使わないほうが良いです。

私が良く使うのは、配列の要素の定義です。

ArrayList の型を厳密にして、実行時のエラーを回避しています。

気をつけるのは、メソッドの場合、当然ですが本体で定義した変数はここで定義したメソッドからは参照できません。

また、request や、out.print() のような暗黙の変数も使えません。

※パラメータとして渡すことは可能ですが、あまりやらないほうが良いと思います。

スクリプトレットの <%!~%> は jsp のソース内で、前でも最後尾でも、どこに書いてもかまいません。

 

« 前頁 次頁 »