【问题标题】:Spring Thymeleaf pass object attribute to href button submitSpring Thymeleaf 将对象属性传递给 href 按钮提交
【发布时间】:2017-06-05 21:44:08
【问题描述】:

我正在尝试执行一个表单操作,其中显示每个分组值的选定列表。在用户在这些列表之一中选择一个值后,我想将此对象的名称作为参数放入按钮链接中,但参数值为空。我不知道我该怎么做。

这是我的代码:

在我的控制器中:

@RequestMapping(value="/teacher/depts", method=RequestMethod.GET)
public String depts(Model model) {
    model.addAttribute("deptsfields", fieldOfStudyService.findAllFieldsForAllDepartments());
    model.addAttribute("field", new FieldOfStudy());

    return "teacher/depts";
}

@RequestMapping(value="/deptsfields", method=RequestMethod.POST)
public String deptsfields(@ModelAttribute(value="field") FieldOfStudy field) {
    return "teacher/depts";
}

还有我的html页面:

<form action="#" th:action="@{/deptsfields}" th:object="${field}" method="post">
    <table>
        <tr>
            <th>Wydział</th>
            <th>Kierunek</th>
        </tr>

        <tr th:each="entry : ${deptsfields}">
            <td th:text="${entry.getKey().details.departmentFullName}"
                th:value="${entry.getKey().details.departmentFullName}"
                th:field="*{details.department.details.departmentFullName}"></td>
            <td>
                <select id="fieldslist" class="form-control" th:field="*{details.fieldOfStudyName}">
                    <option selected="selected" value="">Wybierz...</option>
                    <option th:each="field : ${entry.getValue()}" th:value="${field.details.fieldOfStudyName}" th:text="${field.details.fieldOfStudyName}"></option>
                </select>
            </td>

        </tr>
    </table>

    <a th:href="@{/teacher/groups(field=${field.details.fieldOfStudyName}, dept=${field.details.department.details.departmentFullName})}" class="btn btn-info" role="button">Dalej</a>
</form>

点击按钮后我被重定向到这个页面:

http://localhost:8080/teacher/groups?field={here should be name but is empty}&dept={here should be name but is empty}

我做错了什么?

【问题讨论】:

  • 好的,我解决了这个问题。如果有人想知道,我更改为普通的 sumbit 按钮,在我的控制器中,我使用 RedirectAttributes 作为方法参数,并在方法 redirectAttributes.addAttribute 中添加我想要的参数)。它有效。

标签: java spring thymeleaf


【解决方案1】:

你的链接有错误,试试这个

  <a th:href="@{'/teacher/groups?field=' + ${field.details.fieldOfStudyName} + '&dept=' + ${field.details.department.details.departmentFullName}}" class="btn btn-info" role="button">Dalej</a>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 2017-11-23
    • 2021-10-03
    • 1970-01-01
    • 2012-09-11
    相关资源
    最近更新 更多