簡體   English   中英

Thymeleaf + Spring 啟動。 我嘗試制作動態字段,但是當按下按鈕時什么也沒有發生

[英]Thymeleaf + Spring Boot. I try to make dynamic fields, but when the button is pressed nothing happens at all

我的 Controller:

@Controller
public class MainController {

    @GetMapping("/")
    public String mainPage() {
        return "main";
    }

    @RequestMapping(value = "/", params = {"addRow"})
    public String addRow(ModelForCheck modelForCheck, BindingResult bindingResult) {
        modelForCheck.getVariables().add(new Variable());
        return "main";
    }

}

我用來測試我的代碼的 model class :

public class ModelForCheck {

    private List<Variable> variables = new ArrayList<>();

    public List<Variable> getVariables() {
        return variables;
    }

    public void setVariables(List<Variable> variables) {
        this.variables = variables;
    }
}

我的 model class:

public class Variable {

    private String name;
    private String type;

    public Variable() {
    }

    public Variable(String name, String type) {
        this.name = name;
        this.type = type;
    }

    public String getName() {
        return name;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }
}

我的 html 頁面(main.html):

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="https://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Hello!</title>
</head>
<body>
<form th:action="@{/}" method="post">
    <h3>Variables:</h3>
    <button type="submit" name="addRow">Add Row</button>
    <table>
        <tr th:each="variable, variableStat : *{variables}">
            <td><input type="text" th:field="*{variables[__${variableStat.index}__].name}" placeholder="name"></td>
            <td><input type="text" th:field="*{variables[__${variableStat.index}__].type}" placeholder="type..."></td>
        </tr>
    </table>
    <br>
    <input type="submit" value="Generate!">
</form>
</body>
</html>

在此處輸入圖像描述

我單擊“添加行”按鈕,但由於某種原因,應用程序根本沒有反應。 日志中沒有錯誤消息,也沒有任何其他消息。 我確定啟動了“addRow”方法,因為我在調試中檢查了它

我認為它不起作用,因為您沒有在 controller 的addRow方法中將modelForCheck添加到 Thymeleaf model。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM