Обновление этого ответа для тех, кто хочет использовать конфигурацию Java Spring 5.Добавление этого к вашему WebMvcConfigurer
@Override
public void configureViewResolvers(ViewResolverRegistry registry){
InternalResourceViewResolver resolver = new InternalResourceViewResolver("/WEB-INF/view", ".jsp");
resolver.setExposeContextBeansAsAttributes(true);
registry.viewResolver(resolver);
}
эквивалентно этой конфигурации XML, упомянутой другими:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/view/" />
<property name="suffix" value=".jsp" />
<property name="exposeContextBeansAsAttributes" value="true" />
</bean>
Обратите внимание, что «удобный» свободный API реестра (registry.jsp(). ...
) не предлагает вам возможность настроить свойства exposeContextBean....
.
Если возможно, вам следует рассмотреть возможность использования exposeContextBeanNames
.Тем не менее, используйте как можно больше констант для имен ваших компонентов, чтобы избежать дублирования строковых литералов в вашем коде.Поэтому, возможно, определите String Array в некотором классе, который собирает все тезисные константы и предоставляет их вашему распознавателю представлений.