JSP、2通りのinclude
Javaの話。
JSPで他のファイルをincludeする場合、以下の2通りがある。
- <%@ include file=”include.jsp”%>
- <jsp:include page=”include.jsp” flush=”true” />
違いは何かというと、前者は単純にそのJSPをincludeするだけ。つまり、includeされるJSP(ここではinclude.jsp)の内容をコピペしたのと結果は同じ。
それに対して、後者はinclude.jspはinclude元のJSP(ここではmain.jspと呼ぶ)とは別々にコンパイルされて、個別のサーブレットとして動作する。つまり、main.jspをコンパイルして出来たサーブレットが、include.jspをコンパイルして出来たサーブレットを呼び出す。その為、変数の名前空間とかも別。
どの画面にも共通のメニューとかフッターとかは前者でOKだと思う。元々単独のJSPとして存在してたのをどこか別のページに埋め込む事になったとかの時は後者の方法が結構使えるのかなぁと思った。
@ITの記事が参考になる