前回のまとめ
前回の「ポイント」を再掲
- テンプレート:
- form要素の内側でinput要素を使う。
- form要素のaction属性で値をどこにリクエストするか指定する。
- form要素のmethod属性の違い: getはフォームの値がURLに含まれる。postはURLに含まれない(リクエストボディに記述される)
- input要素のtype属性で種類が指定できる: textはテキストフォーム、submitは送信ボタン。
- input要素の区別はname属性で行う。
- コントローラ(主に14〜26行目):
- フォームからの値を受け取るには、メソッドに引数を加え、@RequestParamアノテーションをつける。
- @RequestMappingアノテーションはgetでもpostでも動作する。
JavaのListの基礎
- 教科書: P.178, P.190-200
- サンプル
掲示板を作る
コメントだけの掲示板
- テンプレート: lect04/bbs.html
- テンプレート: lect04/add_comment.html
- コントローラ(主に16〜51行目): Lect04Controller.java
ポイント:
- テンプレート:
- Thymeleafで繰り返し処理はth:eachを使う。Javaの拡張for文のようなものと思えば良い。
- th:eachが書かれた要素(この場合li要素)が、リストの個数分出力される。
- 出力されたソースを確認しよう。
- コントローラ(主に16〜51行目):
- コメント(文字列)を格納するリストをコントローラのフィールドとして作る。インスタンス化が必要なことに注意する。
- リストにコメントを追加する(48行目)。
- 「コメントを追加しました。」のページが必要なければ、リダイレクトさせることができる(49行目をコメントにして、50行目のコメントを外す)。
名前と投稿時刻を加えた掲示板
- テンプレート: lect04/bbs2.html
- コントローラ(主に55〜71行目): Lect04Controller.java
- コメントを表すクラス: BbsComment.java
予習
Javaのコレクション(特に下記)調べよう。
- Mapを使いたい(教科書P.215)
- Mapに要素を追加したい(教科書P.218)
- Mapの値を取得したい(教科書P.221)