java 包含多个变量的Thymeleaf URL

mrwjdhj3  于 2023-01-07  发布在  Java
关注(0)|答案(3)|浏览(138)

我在我的 Spring 项目中使用thymeleaf作为模板引擎。

    • 我的问题是**:我正在尝试将表单提交到包含两个变量的url,如下所示:

mysite/bla/{id}/bla/{id2}(url中的两个变量)。因此,我尝试使用以下代码:

th:href="@{/bla/{id}/bla/{id2} (id=${object1.id}, id2=${object2.id})}"

控制台显示错误:

  • "跳过URI变量'id',因为请求包含同名的绑定值。"* 那么,有人知道发生了什么吗?

更新:
我改变了一个变量的路径,只是为了做一些测试,问题仍然发生。控制器非常简单:

@PostMapping(value = "/{id}/bla")
    public ModelAndView salvarBug(MyObject object,
            @PathVariable("id") Long idObject1, Principal principal) {
                objectService.save(object);
                return new ModelAndView("redirect:"+idObject1);
    }

我也更新了html中的链接:

<form method="POST" th:object="${object}"
            th:action="@{/{id}/bla (id=${object.id})}">
    • 真正的问题:**数据库的一个属性为空。这没有意义。我修复了这个问题。
8oomwypt

8oomwypt1#

您的解决方案使用了标准语法,看起来是正确的。您可以尝试使用串联的变通方法:
第一个月
更新:
尝试将变量名更改为id以外的名称。我怀疑有一个JIRA可能会导致问题。您也可以使用@ModelAttribute进行注解。您还应该确保您使用的是最新版本的Spring。
同样,您可以只执行@PostMapping("/{id}/bla")

fwzugrvs

fwzugrvs2#

试试这个方法,对我很有效

<a th:href="@{/this/istheurl(parameter1 = val1, parameter2 = val2) }">
a2mppw5e

a2mppw5e3#

**真实的的问题:**数据库的一个属性为空。这没有意义。我修复了这个问题。

相关问题