Я создал простой пример Spring MVC, и у меня возникают проблемы с переводом атрибутов модели в файл jsp. Вот код:
открытый класс WebMvcConfig реализует WebMvcConfigurer
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "my.package.path"})
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public InternalResourceViewResolver resolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setViewClass(JstlView.class);
resolver.setExposeContextBeansAsAttributes(true);
resolver.setExposePathVariables(true);
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".jsp");
return resolver;
}
}
HomeController
@GetMapping("/")
public String userForm(Locale locale, Model model) {
model.addAttribute("users", "test");
return "hometest";
}
hometest.jsp
<!doctype html>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<c:out value="${users}"></c:out>
Когда я запускаю приложение, оно работает нормально, файл home.jsp открывается нормально, но он просто отображает
${users}
вместо
test
Если я закомментирую метод InternalResourceViewResolver resolver (), приложение не запустится, не сможет найти страницы для отображения, поэтому это означает, что этот метод выполняется ... но почему атрибут модели не передается в файл JSP?