Java/ScalaフレームワークPlay Framework入門
Java/Scalaフレームワーク PlayFramework入門
秀和システム
著者:掌田津耶乃
はじめに
目次
Chapter 1 Play Frameworkを用意する
1-1 Play Frameworkのインストール
JavaのWebフレームワークとは?
Play Frameworkとは?
SBTを準備する
JDKについて
1-2 Playアプリケーションの作成と実行
プロジェクトを作成するには?
実際のプロジェクト作成
プロジェクトを実行してみる
プロジェクトの構成をチェック!
1-3 開発環境について
Play Frameworkの開発環境
Eclipseについて
IntelliJ IDEAについて
Visual Studio Codeについて
それを使うべきか?
Chapter 2 コントローラーとルーティング
2-1 コントローラーの利用
「app」フォルダの中身を見る
Model-View-Controller
デフォルトのHomeControllerをチェックする
Scalaのコントローラーについて
Javaのコントローラーについて
routesとルーティング
2-2 アクションの基本
テキストを表示する
TODOダミーページの利用
Resultインスタンスを作成する
Resultでページを作成する
Ok関数およびokメソッドの活用
XMLデータを送信する
Webページのヘッダー情報について
Scala withHeadersによるヘッダー設定
Java setHeaderによるヘッダー設定
2-3 パラメーターの利用
パラメータで値を渡す
複数のパラメーターを設定する
オプションパラメーターについて
Scala オプションパラメータの利用
Java オプションパラメーターの利用
2-4 クッキーの利用
Scala クッキーの基本
Scala クッキーにnameを保存する
Java クッキーの基本
Java クッキーにnameを保存する
2-5 セッションの利用
Scala セッションの基本
Scala セッションにnameを保持する
Java セッションの基本
Java セッションにnameを保持する
セッションでの値の追記
Scala セッションに値を追記する
Java セッションに値を追記する
Chapter 3 ビューとテンプレート
3-1 Twirlテンプレートの基本
ビューとテンプレートエンジン
index.scala.htmlを用意する
indexテンプレートを表示する
テンプレートに値を渡す
複数の値を渡すには?
オブジェクトを渡す
スタイルシートの割り当て
3-2 レイアウトを利用する
レイアウトテンプレートの利用
main.scala.htmlによるレイアウト
index.scala.htmlによるコンテンツ作成
レイアウトを作成しよう
作成したレイアウトを利用する
コントローラから値を渡す
渡されるのは変数?値?
3-3 ブロックをマスターする
ifブロックについて
ifブロックを利用する
forブロックについて
forブロックでリスト表示をする
ブロックの定義と利用
ブロックで出力をカスタマイズする
リストの形式を変更する
テーブル生成ブロック
3-4 フォームの利用
フォーム送信について
Scala POSTによるフォーム送信
フォーム送信処理を作成する
Java POSTによるフォーム送信
Scala POSTされたフォームの処理
Java POSTされたフォームの処理
UnauthorizedエラーとCSRF対策
FormとFormHelper
Scala フォーム用クラスの作成
Scala コントローラーの用意
Scala FormHelperの作成
Java フォーム用クラスの作成
Java コントローラーの用意
Java テンプレートの用意
CSRFフィルターをONにする
用意されているFormHelperオブジェクト
複数コントロールを生成するオブジェクト
フォームはまだまだ機能豊富!
Chapter 4 JDBCによるデータベースアクセス
4-1 H2とJDBCの準備
モデルとJDBC
H2データベースエンジン
H2をアプリケーションに組み込む
そのほかのデータベースの利用
evolutions用SQLファイルの用意
4-2 JDBCによるデータベースアクセス
Scala データベースのアクセス
Scala コントローラーを作成する
Java データベースのアクセス
Java コントローラーを修正する
共通 テンプレートを作成する
共通 evolutionsでマイグレーションする
4-3 CRUDを考える
CRUDとは?
Scala Create(新規作成)について
Scala PersonFromの作成
Scala コントローラーの作成
Java Create(新規作成)について
Java PersonFromの作成
Java コントローラーの作成
共通 add.scala.htmlの作成
共通 addアクションをチェックする
Update(更新)の作成
Scala edit/updateアクションの作成
Java edit/updateアクションの作成
共通 edit.scala.htmlテンプレートの作成
Delete(削除処理)の作成
Scala Delete/Removeアクションの作成
Java delete/Removeアクションの作成
共通 delete.scala.htmlの作成
JDBCは「必要最低限」の機能
Chapter 5 Anorm/Slickの利用(Scala編)
5-1 Anormによるデータベースアクセス
Scalaでの開発に使われるライブラリ
Anormとは?
SQL実行の基本
asとパーサー
RowParserについて
複数項目の値を取り出す
パーサーを作成する
personparserを使う
singleで指定IDのレコードを得る
onによるプレースホルダの設定
show.scala.htmlテンプレートの作成
5-2 AnormによるCRUD
新規作成(Create)について
更新(Update)について
削除(Delete)について
Anormの利用は基本パターンを覚えるだけ!
5-3 Slickの基本
SlickとFRM
Slickのセットアップ
モデルファイルの作成
リポジトリファイルの作成
PersonRepositoryの内容をチェックする
Slick利用のコントローラー
レコードの一覧を取得する
HomeControllerにindexを追加
indexテンプレートの作成
ルート情報を設定して実行!
5-4 CRUDを作成する
新規作成(Create)の作成
add/createアクションの作成
addテンプレートの作成と実行
表示(Read)の作成
showアクションの作成
showテンプレートの作成と実行
更新(Update)の作成
edit/updateアクションの作成
editテンプレートの用意と実行
削除(Delete)の作成
delete/Removeアクションの作成
deleteテンプレートの用意と実行
検索(Find)の作成
フォームクラスの作成
find/searchアクションの作成
findテンプレートの作成と実行
あいまい検索をする
filterの条件設定について
レコードの並び順について
Chapter 6 JPAとEbeanの利用(Java編)
6-1 JPAによるデータベースアクセス
JPAの準備
JPAをセットアップする
persistence.cmlの作成
エンティティクラスの作成
リポジトリクラスの作成
コントローラーを用意する
全レコードを取得する
indexアクションの作成
indexテンプレートを作成して実行する
スタンダードなJPAアクセス
EntityManagerについて
JPQLとQuery
6-2 JPAによるCRUD
表示(Read)を作成する
showアクションを作成する
新規作成(Create)を作成する
add/createアクションを作成する
addテンプレートを用意する
更新(Update)を作成する
edit/updateアクションを作成する
updateテンプレートの用意
削除(Delete)の作成
delete/removeアクションを作成する
deleteテンプレートの用意
検索を行う
リポジトリを用意する
find/search悪shジョンの用意
findテンプレートを用意する
6-3 Ebeanによるデータベースアクセス
Ebeanとは?
Ebeanのセットアップ
PersonEntityクラスの修正
リポジトリクラスの修正
コントローラークラスの修正
全レコードを取得する
Ebean/EbeanServerを使ったレコード取得
特定IDのレコード表示を作成する
新規作成(Create)を作成する
更新(Update)を作成する
削除(Delete)を作成する
検索アクションを作成する
ExpressionListのメソッドについて
Chapter 7 バリデーション、フラッシュメッセージ、テーブル連携
7-1 バリデーションとフラッシュメッセージ(Scala版)
Formのバリデーション
createアクションのバリデーション処理
主なバリデーションルール
入力制約のオプションを使う
verifyingメソッドの利用
フラッシュメッセージを利用する
7-2 バリデーションとフラッシュメッセージ(Java版)
エンティティとバリエーション
Constraintsクラスのバリデーションルール
日本語のエラーメッセージを用意する
7-3 複数テーブルの連携(Scala版)
Slickのテーブル連携
SQLファイルを作成する
Messageのモデルの作成
MessageRepositoryの作成
MessageRepositoryクラスの概要
データベースアクセス関連メソッド
アクションを作成する
messageテンプレートとルート設定
7-4 複数テーブルの連携(Java版)
テーブル連携の4つのパターン
messagesテーブルについて
SQLファイルの作成
エンティティクラスの作成
テーブル連携のための4つのアノテーション
リポジトリの作成
MessageFormクラスの作成
message/addmessageアクションの用意
messageテンプレートとルート情報
PersonEntityの利用にindexテンプレートを修正する
エンティティどうしの関連設定
さくいん