前提・実現したいこと
Thymeleaf初心者です。
名前・性別・生年月日・電話番号を入力する入力フォームを作りたいと思っています。
(名前・電話番号はテキストボックス、性別はラジオボタン、生年月日はプルダウン)
【実現したいこと】
・入力画面においてプルダウンで生年月日を入力できるようになる
・確認画面において入力した生年月日を表示できるようにする
・ただし、1月~12月をhtmlで直書きするのではなく、javaでリストに設定してthymeleafのth:each属性で表示するようにする
【ソースコード】
<入力画面>
<確認画面>
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>確認画面</title> </head> <body> <h1>ご入力の確認</h1> <p>お名前:<span th:text="${name}"> 100</span></p> <p>性別:<div th:switch="${sex}"> <p th:case ="1">男</p> <p th:case ="2">女</p> </div> <p>生年月日:</p> <p>電話番号:<span th:text="${tel}"> テスト</span></p> <a href="index.html" th:href="@{input}"> 顧客の入力に戻る</a> </body> </html>【コントローラー】
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class ClientController {
@RequestMapping("/input")
public String index() {
return "index.html";
}
@RequestMapping("/output")
public String result(@RequestParam("name")String name,
@RequestParam("tel") String tel,
@RequestParam("sex") String sex,Model model) {
model.addAttribute("name", name);
model.addAttribute("tel", tel);
if("male".equals(sex)){
model.addAttribute("sex", 1);
}else if("female".equals(sex)){
model.addAttribute("sex", 2);
}
return "output.html";
}
}
【DemoApplication.java】
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
未熟な故、回答の表現があいまいになり、ご理解いただけない部分があるかもしれませんが
できるだけお伝えさせていただきます。よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー