-
-
Save NeilAlishev/2f7a876867a0a8516908f96ea14521e9 to your computer and use it in GitHub Desktop.
| import org.springframework.web.filter.HiddenHttpMethodFilter; | |
| import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; | |
| import javax.servlet.ServletContext; | |
| import javax.servlet.ServletException; | |
| public class MySpringMvcDispatcherSerlvetIntitializer extends AbstractAnnotationConfigDispatcherServletInitializer { | |
| @Override | |
| protected Class<?>[] getRootConfigClasses() { | |
| return null; | |
| } | |
| @Override | |
| protected Class<?>[] getServletConfigClasses() { | |
| return new Class[]{SpringConfig.class}; | |
| } | |
| @Override | |
| protected String[] getServletMappings() { | |
| return new String[]{"/"}; | |
| } | |
| @Override | |
| public void onStartup(ServletContext aServletContext) throws ServletException { | |
| super.onStartup(aServletContext); | |
| registerHiddenFieldFilter(aServletContext); | |
| } | |
| private void registerHiddenFieldFilter(ServletContext aContext) { | |
| aContext.addFilter("hiddenHttpMethodFilter", | |
| new HiddenHttpMethodFilter()).addMappingForUrlPatterns(null ,true, "/*"); | |
| } | |
| } |
Дошёл до Дата и время в Hibernate, не понимаю, зачем было хард-кодить дату?
<label for="birth">Date of birth: </label>
<input type="date" data-th-field="*{dateOfBirth}" id="birth"/>
<div class="error" data-th-if="${#fields.hasErrors('dateOfBirth')}" data-th-errors="*{dateOfBirth}">placeholder for an error</div>
<br>
паттерн развернуть в обратную сторону, иначе выбросит в ошибку.
@Column(name = "date_of_birth", nullable = false)
@Temporal(TemporalType.DATE)
@DateTimeFormat(pattern = "yyyy-mm-dd")
private Date dateOfBirth;
Я поменял зависимости на jakarta servlet и у меня заработал фильтр.
использовал
springframework 6.2.7
thymeleaf 3.1.2.RELEASE
jakarta.servlet 6.0.0
Как и многи столкнулся с тем, что методы patch и delete не работали.
Прописывал настройки фильтра, но ничего не работало - не отрабатывал метод onStartup.
В моем случае это происходило, потому что у меня в настройках проекта осталась инфа об использовании web.xml, хотя файл был удален.
И как следствие все настройки фильтра в файле унаследованном от AbstractAnnotationConfigDispatcherServletInitializer не работали.
Через интерфейс idea исправил эту ситуацию
File → Project Structure → Modules. Выбрал модуль. Перешел на вкладку Web. Удалил web.xml.
после чего перезапустил проект. и вуаля отработал метод onStartup и фильтр включился.

Не мог никак завестить без @EnableTransactionManagement. Делаю всё на 6 версии.
Person.java
если кому-то нужен pom.xml, джава 19 версии