JSPで社内アプリを作る機会があったので、メモ。
基本的なこともまだわかっていないんですが、とりあえずでてきたものから紹介してきます。
インクルードから。
ヘッダー、フッターみたいな別々に分けたりするテンプレート機能みたいなものがあるのかな?と思ったんですがありました。
Contents
jsp:include
<jsp:include>タグを使うみたいですね。
例えば、main.jspとheader.jspというテンプレートがあります。
header.jspのパスですが、ルートディレクトリにtemplateというディレクトリをつくり、ここにheader.jspを入れます。
main.jspで挿入部分に
1 2 3 |
<jsp:include page="/template/header.jsp"> <jsp:param name="var1" value="なんらかの値"/> </jsp:include> |
と記述し、header.jspで下記のように書けばOKです。
1 2 3 4 5 6 7 8 9 10 |
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page pageEncoding="UTF-8" %> <!DOCTYPE html> <html> <body> <div> <p>${param.var1}</p> </div> </body> </html> |
変数まで渡せるのがいいですね。
ただ問題あって下記2点がネックです。
文字化けする
参考リンクにいろいろ解決策はありましたが、結局使わずにいたので解決してません(汗)
文字列以外渡せない
これが結構焦りました。foreachで展開しようと思っても駄目だったので・・
どうやらヘッダーとかフッターとかあくまで静的な文字情報を渡すだけみたいですね・・・