Принимая значение пароля от пользователя, я хочу использовать этот пароль в пути URL, я использую тимилиф в качестве шаблонизатора - PullRequest
0 голосов
/ 27 октября 2019

У меня проблема с получением пароля от пользователя, я хочу использовать этот пароль в URL-пути, я использую тимилиф в качестве движка шаблонов.

Это мой контроллер

    @RequestMapping(value = "/findEvent/{passcode}", method = RequestMethod.POST)
    public String findEvent(@PathVariable("passcode") String passcode,
                            final RedirectAttributes redirectAttributes, Model model) {

        Event event=eventService.findByPassCode(passcode);
        List<Question> questions=questionService.findQuestionsByPasscode(passcode);

        model.addAttribute("questions",questions);

        return "questions";
    }

и это мои html-страницы

addEvent.html

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
    <title>Hello World!</title>
</head>
<body>
<form method="post" th:action="@{/eventSave}" th:object="${eventRegister}">
    Name:<br>
    <input type="text" th:field="*{eventName}"><br>
    Passcode:<br>
    <input type="text" th:field="*{eventPasscode}"><br>

    <input type="submit" value="Submit">
</form>
</body>
</html>

passcode.html

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form method="post" th:action="@{/findEvent/{passcode}}">

    Passcode:<br>
    <input type="text"  th:text="*{passcode}" ><br>

    <input type="submit" value="Submit">
</form>
</body>
</html>

questions.html

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div class="col-12">
    <table class="table table-bordered">
        <tr>
            <th>Question </th>
            <th>Votes </th>

        </tr>
        <tr th:each="questions : ${questions}" th:object="${question}">
            <td th:text="*{text} "></td>
            <td th:text="*{voteValue} "></td>

            <a th:href="@{/voteQuestion/{id} (id=${question.questionId})}">Vote the question</a>
        </tr>
    </table>
</div>

и это мой результат http://localhost:8080/findEvent/%7Bpasscode%7D

1 Ответ

0 голосов
/ 27 октября 2019

Если вы хотите, чтобы URL-адрес действия формы содержал значение из самой формы, вам потребуется обработчик onSubmit для обновления URL-адреса из поля формы.

Значения формы автоматически включаются только в тело запроса POST или параметров запроса запроса GET.

Все остальное, что вам нужно сделать с кодом JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...