使用「Spring Tool Suite」工具,在「Spring boot + Thymeleaf」框架下创建web页面,并实现页面跳转(页面转移)

使用「Spring Tool Suite」工具,在「Spring boot + Thymeleaf」框架下创建Web界面,并实现页面之间的跳转(页面跳转),以下是实现过程的步骤。

环境

    • Pleiades All in One Eclipse(リリース 2021-06)

 

    • Spring Tool Suite (STS) 4.11.0

 

    Eclipse上で Spring Boot プロジェクトを作成済み

请参考之前的文章《如何安装“Pleiades All in One Eclipse”和“Spring Tool Suite (STS)”插件》,获得有关安装的指南。

请参考上一篇文章《使用Spring Tool Suite创建简单的Web界面》来在Eclipse中创建Spring Boot项目。

1. 已创建的页面(屏幕)

我创建了三个页面:首页、输入页面和输出页面。

(1)首页

01.png

(2)输入页面

02.png

(3)输出页面

03.png

2. 编写的步骤

2.1. 创建一个用于保存数据的类

04.png

「DemoForm.java」是一个保存「姓名」(name)和「电话号码」(tel)的类。

package com.example.demo;

public class DemoForm {

    private String name;

    private String tel;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }
}

2.2. 创建控制器

05.png

index方法是在接收到「http://localhost:8080/」请求时的处理。@RequestMapping(“/”)是针对”/”请求的描述。
将字符串”欢迎来到!Spring boot + Thymeleaf!”设置给参数message。
通过返回index来显示”index.html”页面。

当input方法收到”http://localhost:8080/input”时的处理方式。当点击”进入输入页面”链接或”返回输入页面”按钮时会被调用。@RequestMapping(“/input”)的描述对应着对/input请求的处理。将参数demoForm设置为”DemoForm”对象。通过返回input来显示”input.html”页面。

当output方法收到”http://localhost:8080/output”请求时进行处理。当点击”进入输出页面”按钮时调用。@RequestMapping(“/output”)用于将该方法与输出请求对应起来。
方法参数@ModelAttribute DemoForm demoForm用于接收参数demoForm并将其设置到参数demoForm中。
通过return output;来显示”output.html”界面。

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class DemoController {

    @RequestMapping("/")
    public String index(Model model) {
        model.addAttribute("message", "ようこそ!Spring boot + Thymeleafへ!");
        return "index";
    }

    @RequestMapping("/input")
    public String input(Model model) {
        model.addAttribute("demoForm", new DemoForm());
        return "input";
    }

    @RequestMapping("/output")
    public String output(@ModelAttribute DemoForm demoForm, Model model) {
        model.addAttribute("demoForm", demoForm);
        return "output";
    }

}

2.3. 创建首页

06.png
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>トップページ</title>
</head>
<body>
    <p th:text="${message}"></p>
    <p>
        <a th:href="@{/input}">入力画面へ</a>
    </p>
</body>
</html>

2.4. 创建输入页面

07.png
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>入力ページ</title>
</head>
<body>
    <form th:action="@{/output}" th:object="${demoForm}" method="post">
        <p>
            名前:<input type="text" th:field="*{name}" />
        </p>
        <p>
            電話番号:<input type="text" th:field="*{tel}" />
        </p>
        <p>
            <input type="submit" value="出力画面へ" />
        </p>
    </form>
</body>
</html>

2.5. 创建输出页面

08.png
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>出力ページ</title>
</head>
<body>
    <form th:action="@{/input}" th:object="${demoForm}" method="post">
        <div th:object="${demoForm}">
            <p>
                名前:<span th:text="*{name}"></span>
            </p>
            <p>
                電話番号:<span th:text="*{tel}"></span>
            </p>
            <p>
                <input type="submit" value="入力画面へ戻る" />
            </p>
        </div>
    </form>
</body>
</html>

请参考「使用「Spring Tool Suite」以「Spring Boot + Thymeleaf」创建简单的Web界面并执行Spring Boot应用程序」中的「3. Spring Boot应用程序的执行」来运行Spring Boot应用程序。


以上 —– 上述事项

广告
将在 10 秒后关闭
bannerAds