我的格式是:
<form class="form" action="/bars" method="get" >
<input type="text" class="form-control" name="pid" id="pid" />
<button type="submit">Find By PID</button>
</form>
提交后,我想获取URL为/bars/123
(假设在输入字段中输入了123)。相反,我得到/bars/?pid=123
。不使用JavaScript如何解决此问题?我在Spring Boot 2上使用了百里香3,其中我的控制器代码如下:
@GetMapping("/bars/{pid}")
public List<Bar> findBypid(@PathVariable Integer pid, ... ) {
Bar bar barService.findBypid(pid);
// code omitted
// ......
}
我不确定在不使用JavaScript的情况下ThymeLeaf如何在这里提供帮助。
答案 0 :(得分:1)
不能。 HTML(和ThymeLeaf)并非以这种方式工作。您可以使用JavaScript,也可以添加转发到正确url的特殊控制器方法。例如:
@GetMapping("/bars")
public String forwarder(@RequestParam String pid) {
return "redirect:/bars/" + pid;
}
@GetMapping("/bars/{pid}")
public List<Bar> findBypid(@PathVariable Integer pid, ... ) {
Bar bar barService.findBypid(pid);
// code omitted
// .
// .
// .
}