403 错误,控制器通过 FreeMarker 和弹簧

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


我发现在<#list el里面写的代码是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错误。为什么?


杨魅力
浏览 83回答 1
1回答

神不在的星期二

在第二种形式中,您缺少用于身份验证的 csrf 令牌<input&nbsp;type="hidden"&nbsp;name="_csrf"&nbsp;value="${_csrf.token}"&nbsp;/>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript