我在我的 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})}">
- 真正的问题:**数据库的一个属性为空。这没有意义。我修复了这个问题。
3条答案
按热度按时间8oomwypt1#
您的解决方案使用了标准语法,看起来是正确的。您可以尝试使用串联的变通方法:
第一个月
更新:
尝试将变量名更改为
id
以外的名称。我怀疑有一个JIRA可能会导致问题。您也可以使用@ModelAttribute
进行注解。您还应该确保您使用的是最新版本的Spring。同样,您可以只执行
@PostMapping("/{id}/bla")
fwzugrvs2#
试试这个方法,对我很有效
a2mppw5e3#
**真实的的问题:**数据库的一个属性为空。这没有意义。我修复了这个问题。