Java @RestController将表单返回到同一页面但URL不同
我正在使用@RestController管理页面中的一些不同表单(使用Thymeleaf),它工作正常,但浏览器中的URL不会“重置”,即使我每次创建一个新的ModelAndView: 例如: 初始URL:Java @RestController将表单返回到同一页面但URL不同,java,thymeleaf,spring-restcontroller,Java,Thymeleaf,Spring Restcontroller,我正在使用@RestController管理页面中的一些不同表单(使用Thymeleaf),它工作正常,但浏览器中的URL不会“重置”,即使我每次创建一个新的ModelAndView: 例如: 初始URL:http://localhost:8090/project/v1/controller/ RestController中某些操作后的URL:http://localhost:8090/project/v1/controller/actionA 我想要的URL:http://localhost:
http://localhost:8090/project/v1/controller/
RestController中某些操作后的URL:http://localhost:8090/project/v1/controller/actionA
我想要的URL:http://localhost:8090/project/v1/controller/
我的代码:
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView index(){
ModelAndView mav = new ModelAndView();
mav.addObject("myObj", this.someMethods());
mav.setViewName("index"); //my page
return mav;
}
@RequestMapping(value = "/action", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, params = "action=actionA")
public ModelAndView actionA(...) {
ModelAndView mav = new ModelAndView();
mav.addObject("myObj", this.someMethods());
mav.setViewName("index"); //again the same page
return mav;
}
我不能使用相同的值参数,因为它在我的表单/操作页面中用于标识要在restcontroller中执行的方法,例如:
<form id="action" method="POST" th:object="${Object}"
th:action="@{/v1/emulador-central/action}">
...
<button type="submit" name="action" value="actionA" class="btn btn-primary">Aprovar</button>
<button type="submit" name="action" value="actionB" class="btn btn-primary" style="float:right;">Reprovar</button>
...
</form>
...
阿普洛瓦
重演
...
我尝试使用重定向,但没有成功,我尝试创建一个新方法POST来创建ModelAndView,然后将该对象返回到我的索引,但又失败了。
有人能告诉我怎样才能做好吗?
提前感谢。@RestController通常不会更改页面或重定向其他页面 Rest控制器处理RESTAPI什么是呈现json、纯文本等 如果需要呈现或重定向html页面,为什么要使用@RestController 只需使用:
@Controller
你的问题解决了 如何将POST也映射到value=“/”而不是value=“/actionA”?我不能这样做,因为这个值是我页面中表单中使用的参数,用于标识我要执行的RestController的方法,因此我需要不同的值参数。如果有人有相同的问题,直到现在我都无法解决。当我找到解决方案时,我会在这里更新。我使用它是因为公司的项目结构,正如我所说的,它工作良好,没有问题,只是浏览器中的URL。所以,我认为这不是问题所在,但我会在这里尝试,并尽快给出反馈。