为什么按钮中的href不能重定向到链接?

时间:2019-06-09 12:49:18

标签: spring-boot thymeleaf

我有一个html视图,该视图显示元素列表。所有元素都有两个按钮(编辑和删除)。当我单击“删除”时,所有功能均正常运行,但在单击“编辑”时,不显示新视图。当我想输入直接URL进行编辑时,一切正常...

这是我的代码片段:

<div class="container">
    <!-- topics -->
    <div class="row topic" th:each="user : ${users}">
        <div class="col-4">
            <p>
                <div class="input-group-addon" style="width: 2.6rem"><i class="fa fa-at"></i></div>
                <a class="title " th:href="@{'/user/' + ${user.id}}" th:text="${user.email}"></a>
            </p>
        </div>
        <div class="col-4">
            <p>
                <div class="input-group-addon" style="width: 2.6rem"><i class="fa fa-user"></i></div>
                <a class="title " th:href="@{'/user/' + ${user.id}}" th:text="${user.fullName}"></a>
            </p>
        </div>
        <div class="col-2">
        <form action="#" th:action="@{'/user/drop/{id}'(id=${user.getId()})}" th:method="delete" >
            <input type="hidden" name="_method" value="delete" />
            <button type="submit" class="btn btn-danger">Usuń użytkownika</button>
        </form>
        </div>
        <div class="col-2"></div>
      <!--My failed button-->
            <button type="submit" class="btn btn-warning" th:href="@{'/user/edit/' + ${user.id}}">Edycja</button>
        </div>


    </div>
</div>

1 个答案:

答案 0 :(得分:2)

<button> has no href attribute.所需要的是一个“链接”(具体来说是<a>“ anchor”标记):

<a class="btn btn-warning" th:href="@{'/user/edit/' + ${user.id}}">Edycja</a>

您的 other 按钮“起作用”的原因是因为它是<form>的一部分,并提交了该表单。它遵循任何类型的href属性。您也可以使此按钮成为表单的一部分,但这似乎不是预期的功能。这里的预期功能是将用户定向到新页面,因此链接是适当的。