Thymeleaf-将变量传递给控制器

时间:2019-04-02 10:00:31

标签: java spring http model-view-controller thymeleaf

我对Spring和Thymeleaf有问题。

我有一个控制器:

@RequestMapping(value = "/add")
public String addPage(@PathVariable("id") String id, Model model) {
    InvoiceData invoiceData = new InvoiceData();
    model.addAttribute("contractorid", id);
    model.addAttribute("invoicedata", invoiceData);
    return "add";
}

我有一个URI:

<li class="menu"><a th:href="@{/add/{id}(id=${contractor.id})}">Add invoice</a>

当然,我有这个add.html文档,其中包含用于填写并将数据保存到ContractorData的表格。

但是当我单击链接时,我得到:

There was an unexpected error (type=Not Found, status=404).
No message available

浏览器中的URL如下所示:

http://localhost:8080/add/5c9e31b05b9b380a6b08dc94

因此它完全基于基本URI

如何修改URI或代码,以便将contractor.id传递到/ add控制器并将其放入Model中,以便可以在add.html中使用?

1 个答案:

答案 0 :(得分:1)

我认为这应该有所帮助。

@RequestMapping(value = "/add/{id}")
public String addPage(@PathVariable("id") String id, Model model) {
    InvoiceData invoiceData = new InvoiceData();
    model.addAttribute("contractorid", id);
    model.addAttribute("invoicedata", invoiceData);
    return "add";
}