ディレクティブ
ディレクティブは、JSPをどのように処理するかをサーブレットコンテナに対して指示するための要素です。
jspファイルの先頭に記述します。
- pageディレクティブ
- taglibディレクティブ
- includeディレクティブ
pageディレクティブ
pageディレクティブは、JSPの振る舞いを指定するためのディレクティブ。
<%@ page pageEncoding="UTF-8" %>
taglibディレクティブ
taglibディレクティブは、カスタムタグライブラリを使用できるようにするためのディレクティブです。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
*上記のカスタムタグを使用するにはJSTL依存のライブラリをプロジェクトに追加
includeディレクティブ
includeディレクティブは、別のファイルに記載されているコードを取り込むためのディレクティブです。
<%@ include file="/WEB-INF/header.jsp" %>
JSTLの利用
JSTLはjsp用のカスタムタグを提供しています。
JSTLの分類
プレフィックス | URL | 説明 |
---|---|---|
c | http://java.sun.com/jsp/jstl/core | コアな処理(値の処理、分岐、繰り返しなどの処理)を行うためのカスタムタグを格納 |
fmt | http://java.sun.com/jsp/jstl/fmt | メッセージの表示や値のフォーマットなどを行うカスタムタグを格納 |
sql | http://java.sun.com/jsp/jstl/sql | データーベースアクセスを行うカスタムタグを格納 |
x | http://java.sun.com/jsp/jstl/xml | XML操作を行うカスタムタグを格納 |
fn | http://java.sun.com/jsp/jstl/functions | 便利なEL関数を格納 |
Springのタグライブラリ
Spring MVCが提供するHTMLフォーム出力用のカスタムタグ一覧
要素名 | 説明 |
---|---|
form:form | フォームオブジェクトに対応するHTMLのフォームを出力 |
form:input | テキストフィールドを出力 |
form:password | パスワードフィールドを出力 |
form:textarea | テキストエリアを出力 |
form:checkboxes | 複数のチェックボックスを出力 |
form:checkbox | チェックボックスを出力 |
form:radiobuttons | 複数のラジオボタンを出力 |
form:radiobutton | ラジオボタンを出力 |
form:select | セレクトボックスを出力 |
form:options | 複数のセレクトボックスの選択肢を出力 |
form:option | セレクトボックスの選択肢を出力 |
form:hidden | 隠しフィールドを出力 |
form:label | ラベルを出力 |
form:button | ボタンを出力 |
form:errors | バインディングエラーおよび入力チェックエラーを出力 |
form:form要素の主な属性
属性名 | 説明 |
---|---|
modelAttribute | HTMLフォームにバインドするフォームオブジェクトの属性名を指定する。省略した場合のデフォルト値は"command" |
action | HTMLフォームの送信先を指定する。省略した場合のデフォルト値はページ表示時のURI |
method | HTMLフォームを送信する際に使用するHTTPメソッド(post or get)を指定する。省略した場合のデフォルト値は"post"となる |
jsp
<form:form modelAttribute="loginForm">
<form:input path="username"/><br>
<form:button>Login</form:button><br>
</form:form>
HTML
<form id="loginForm" action="/login" method="post">
<input id="username" name="username" type="text" value=""/><br>
<button type="submit" value="Submit">Login</button>
</form>
フォーム項目の共通的な属性
属性名 | 説明 |
---|---|
path | フォーム項目にバインドするフォームオブジェクトのプロパティを指定する |
disabled | フォーム項目を無効にするか指定する。デフォルト値はfalse(無効にしない) |
readonly | フォーム項目を読み取り専用にするか指定する。デフォルト値はfalse(読み取り専用ではない) |
jsp
<form:input path="username">
HTML
<input id="username" name="username" type="text" value="" />