ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Thymeleaf とは
Thymeleaf は Spring Boot 標準のテンプレートエンジン。最大の特徴は th: 属性で記述するため素の HTML としてブラウザで開けること。デザイナーがそのまま編集できるため、JSP に比べて開発フローが分業しやすい。
| 項目 | Thymeleaf | JSP |
|---|---|---|
| HTML として開ける | ◯ | × |
| Spring Boot 標準 | ◯ | △ (要設定) |
| 記法 | HTML 属性 th:* | カスタムタグ |
| レイアウト | fragment / decorator | include / sitemesh |
| 学習コスト | 低(HTML が分かれば) | 中 |
セットアップ (Spring Boot)
org.springframework.boot
spring-boot-starter-thymeleaf
src/main/resources/
├── templates/ ← Thymeleaf テンプレート (デフォルト)
│ ├── index.html
│ └── user/
│ ├── list.html
│ └── detail.html
└── static/ ← CSS / JS / 画像
├── css/app.css
└── js/app.js
基本記法
タイトル
山田太郎
紹介文
詳細
管理者です
一般ユーザーです
管理者
ユーザー
ゲスト
- 名前
1
名前
フォーム
Spring MVC との連携
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public String list(Model model) {
model.addAttribute("users", userService.findAll());
model.addAttribute("title", "ユーザー一覧");
return "user/list"; // → templates/user/list.html
}
@GetMapping("/new")
public String form(Model model) {
model.addAttribute("form", new UserForm());
return "user/edit";
}
@PostMapping("/save")
public String save(@Valid @ModelAttribute("form") UserForm form,
BindingResult result,
RedirectAttributes ra) {
if (result.hasErrors()) return "user/edit";
userService.save(form);
ra.addFlashAttribute("message", "保存しました");
return "redirect:/user";
}
}
レイアウト (fragment)
共通ヘッダ・フッタを切り出して再利用:
共通
サンプルサイト
ユーザー一覧
ユーザー一覧
th:replace と th:insert の違い:
| 属性 | 動作 |
|---|---|
th:replace | 呼び出し側のタグごと置換 |
th:insert | 呼び出し側のタグ中に挿入 |
th:include | fragment の中身のみ挿入(非推奨、3.0+ で deprecated) |
JS / CSS との連携
ユーティリティオブジェクト
2000/01/01
1,234.56
YAMADA
短縮...
10
000-0000
FAQ
Q: th:text と th:utext の違い
A: th:text は HTML エスケープあり(XSS 安全)、th:utext はエスケープなし(XSS 注意、自己責任)。原則 th:text。
Q: Thymeleaf 2 と 3 の違い
A: 3.0 から th:include 廃止、~{...} fragment 構文導入、HTML5 への移行など。Spring Boot 2.0+ は Thymeleaf 3 が標準。
Q: 開発中に変更が反映されない
A: spring.thymeleaf.cache=false を application.properties に。または DevTools を入れる。本番は cache=true。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
同階層のページ
同階層のページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?