繁体   English   中英

通过FreeMarker和spring的控制器出现403错误

[英]403 error with controller via FreeMarker and spring

我已经创建了带有一些标签的* .ftl页面,并希望通过我的特定控制器来完成所有这些工作。

我发现写在<#list el as set>内部的代码无法获取控制器

这有效

 <div> <form action="/deckStatusDel" method="post"> <input type="text" name="deckstatusid" value="${deckstatus1}" /> <input type="hidden" value="${deck.id}" name="deckId"> <input type="hidden" name="_csrf" value="${_csrf.token}" /> <button type="submit">Delete status</button> </form> </div> 

这不是

 <#list deck_statuses as deck_status> <div> <form action="/deckStatusDel" method="post"> <input type="text" value="${deck_status.id}" name="deckstatusid"> <span>${deck_status.status}</span> <button type="submit">Delete status</button> </form> </div> <#else> empty </#list> 

控制器代码

 @PostMapping("/deckStatusDel") public String deckStatusDelete( @RequestParam Long deckstatusid, @RequestParam("deckId") Deck deck ) { deckStatusesRepo.deleteById(deckstatusid); return "redirect:/deck/"+deck.getId(); } 

来自列表的代码正在获取并发送正确的ID,但我收到403错误。 为什么?

在第二种形式中,您缺少用于身份验证的csrf令牌

<input type="hidden" name="_csrf" value="${_csrf.token}" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM