JSPディレクティブを省略する方法
意外と知られていないようなので、紹介します。JSPの先頭にはお決まりのようにJSPディレクティブを記述しますが、これが省略できたら便利だと思いませんか?
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...
実はできるんです。
(たぶん)ServletAPI2.4の仕様だと思いますが、web.xmlに以下の設定をして、インクルードするファイルを指定することで、JSP先頭の宣言を省略することができます。
web.xml
... ... *.jsp false UTF-8 false
/header.jsp
header.jsp
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...