Переменная пути Thymeleaf не работает. Что я делаю неправильно? - PullRequest
0 голосов
/ 18 февраля 2020

Что-то мешает мне установить переменную пути с помощью Thymeleaf и HTML в форме HTML. Я хочу просто ввести 33 в форму и получить localhost: 8080 / blog / 33 для URL, но я могу получить только строку запроса или искаженные скобки и т. Д. c.

некоторые примеры попыток и результаты:
th: action = "@ {/ blog / {id} (id = $ {id})}"
localhost: 8080 / blog /? Id = 33

th: action = "@ {/ blog / + $ {id}}"
localhost: 8080 / blog / +% 20 $% 7Bid% 7D? Id = 33

я хочу:
localhost: 8080 / blog / 33

весь код этой формы приведен ниже:

<!DOCTYPE HTML>
<html xmlns:th="https://www.thymeleaf.org">
    <head>
        <title>Form Submission</title>
        <style>
            button{
                margin-top:20px;
                width: 250px;
            }
        </style>
    </head>
    <body>
        <h2>Delete Entry</h2>
        <form action="#" th:action="@{/blog/{id}(id = ${id})}" th:object="${blog}" method="get" >  
            <fieldset>
                <p>Delete ID: <input type="text" th:field="*{id}" required /></p>
                <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
            </fieldset>
        </form>
        <button onclick="window.location.href = '/'">Menu</button>
    </body>
</html>

1 Ответ

1 голос
/ 19 февраля 2020

Этот синтаксис правильный: @{/blog/{id}(id = ${id})}.

Причина, по которой вы получаете localhost:8080/blog/?id=33, вероятно, заключается в том, что ${id} пусто при создании формы, и когда вы нажимаете кнопку отправки, это добавление ?id=33 к URL (потому что метод get и у вас есть вход с тем же name="id": <input type="text" th:field="*{id}" required />.

Нет пути html / thymeleaf (без javascript) чтобы вставить поле формы в часть пути URL (если это то, что вы ожидаете). Вам придется использовать библиотеку javascript, если вы хотите, чтобы это произошло.

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