Map(コレクション)の基礎

前回のまとめ

  • 「コレクション」とはデータの集合のこと。Javaではコレクションを扱うためのコレクションフレームワークが標準で含まれている。
  • Listは順序性があるコレクション
  • 教科書: P.178, P.190-200
  • サンプル
  • Thymeleafで繰り返し処理はth:eachを使う。Javaの拡張for文のようなものと思えば良い。

Spring Boot 2.0.2

Spring Boot 2.0.2がリリースされた。
自分のプロジェクトもupdateしよう。build.gradleを書き換えればよい。


JavaのMapの基礎

英和辞書を作ろう

ポイント:

  • テンプレート:
    • 共通部分はth:fragmentで定義し、th:include等で呼び出すことができる。Thymeleaf 3からはth:includeは非推奨とのことなので、th:insertかth:replaceを使おう。
    • th:ifを使うと条件によって表示することができる。
  • コントローラ:
    • 辞書を表すマップをコントローラのフィールドとして作る。インスタンス化が必要なことに注意する。
    • マップにキーと値を追加する(27行目)。
    • マップから値を取得する(38行目)。

List(コレクション)の基礎

前回のまとめ

前回の「ポイント」を再掲

  • テンプレート:
    • form要素の内側でinput要素を使う。
    • form要素のaction属性で値をどこにリクエストするか指定する。
    • form要素のmethod属性の違い: getはフォームの値がURLに含まれる。postはURLに含まれない(リクエストボディに記述される)
    • input要素のtype属性で種類が指定できる: textはテキストフォーム、submitは送信ボタン。
    • input要素の区別はname属性で行う。
  • コントローラ(主に14〜26行目):
    • フォームからの値を受け取るには、メソッドに引数を加え、@RequestParamアノテーションをつける。
    • @RequestMappingアノテーションはgetでもpostでも動作する。

JavaのListの基礎

掲示板を作る

コメントだけの掲示板

ポイント:

  • テンプレート:
  • コントローラ(主に16〜51行目):
    • コメント(文字列)を格納するリストをコントローラのフィールドとして作る。インスタンス化が必要なことに注意する。
    • リストにコメントを追加する(48行目)。
    • 「コメントを追加しました。」のページが必要なければ、リダイレクトさせることができる(49行目をコメントにして、50行目のコメントを外す)。

名前と投稿時刻を加えた掲示板


予習

Javaのコレクション(特に下記)調べよう。

  • Mapを使いたい(教科書P.215)
  • Mapに要素を追加したい(教科書P.218)
  • Mapの値を取得したい(教科書P.221)