У меня возникают проблемы с конфигурацией Spring для следующих функций: мне нужно, чтобы запросы на просмотр отображались нормально (визуализировать представление), а запросы службы просто выполнялись без визуализации. Проблема, с которой я сталкиваюсь, заключается в том, что после выполнения контроллера где-то вниз по линии Spring решает, что ModelAndView должен получить экземпляр, даже если метод контроллера ничего не возвращает (void). Это вызывает представление, которое будет отображаться, когда на самом деле я хочу просто ничего не делать, как только контроллер выполнит эту работу. Я уверен, что это должно быть что-то, что я делаю неправильно в конфигурации Spring (моя догадка заключается в том, что она связана с представлением разрешения). Любая помощь по этому поводу ценится. Благодарю.
Вот код:
@Controller
@RequestMapping( "actions" )
public final class ServiceController{
private static final Logger logger = LoggerFactory.getLogger( ServiceController.class );
@RequestMapping( value = "/submit.service",method = RequestMethod.POST )
public void test( @RequestParam( "mail" ) String mail ){
ServiceController.logger.info( mail );
}
}
И сервлеты в web.xml:
<servlet>
<servlet-name>viewServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/viewServlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>viewServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Контекст:
<annotation-driven />
<beans:bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<beans:property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
</beans:bean>
<beans:bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<beans:property name="cache" value="true" />
<beans:property name="prefix" value="" />
<beans:property name="suffix" value=".vm" />
</beans:bean>