У меня проблемы с конфигурацией 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>