Help us understand the problem. What is going on with this article?

[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="" />
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away