spring
JSP

[Spring] JSPの実装 (簡易まとめ)

More than 1 year has passed since last update.


ディレクティブ

ディレクティブは、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ディレクティブは、別のファイルに記載されているコードを取り込むためのディレクティブです。

jsp

<%@ 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="" />