删除

时间:2017-09-29 08:00:51

标签: java spring thymeleaf

我有一个表,用于将一个对象添加到另一个对象,并从另一个对象中删除一个对象。

这是我的控制者:

@Controller
@RequestMapping("/proj/{pid}/coupling/{r1}")
public class CouplingController {


    @RequestMapping(method = RequestMethod.GET)
    public String getAllCouplings( ){   
        return "riskCoupling";

    }

    @RequestMapping(value = "/{r1}", method = RequestMethod.POST)
    public String saveCoupling( ){
        return "/projects";
    }

    @RequestMapping(value = "/{r2}", method = RequestMethod.DELETE)
    public String removeCoupling(){

        return "/projects";
    }
}

这是我的Thymeleaf观点

<td>
    <form action = "#" th:action="@{/proj/{pid}/coupling/{r1}/{r2} (pid=${projectID},r1=${r1ID},r2=${r2.id})}" method = "post">
        <input type="submit" name="Couple" value="Couple" class="btn btn-info" />
    </form>
</td>
<td">
    <form action = "#" th:action="@{/proj/{pid}/coupling/{r1}/{r2} (pid=${projectID},r1=${r1ID},r2=${r2.id})}" method = "delete">
        <input type="submit" name="RemoveCoupling" value="RemoveCoupling" class="btn btn-info" />
    </form>
</td>

当我转到网址/proj/{pid}/coupling/{r1}时,我会收到概述,以便GET正常工作。

当我按下“情侣”按钮时,它可以正常工作。所以POST工作。

当我按下RemoveCoupling按钮时,我收到错误:

Request method "Get" not supported.

我真的不知道为什么会出现这个错误。

2 个答案:

答案 0 :(得分:1)

由于浏览器遗憾地不支持HTML表单中除POST和GET之外的任何其他动词,因此它们只会发送POST / GET请求。这可能是为什么只有那个不起作用的原因。

查看更多:

答案 1 :(得分:0)

我用Thymeleaf - Button click to call http delete method修正了这个问题。

基本上在我的表单中放置一个隐藏字段。