Этот синтаксис правильный: @{/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, если вы хотите, чтобы это произошло.