Image

Spring MVC: строка URL вместо строки из ModelAndView

Писал на RSDN, но поскольку у него скоропостижно закончилась регистрация, дублирую тут.

Создаю простейший контроллер, единственная задача которого - при переходе по определённому URL открыть определённую вьюшку.


Код контроллера:
@Controller
class UserController {	
	@RequestMapping(value="/new-user-page")
	public ModelAndView newOne() {
		System.out.println("here");
		return new ModelAndView("newuser");
	}	
}


dispatcher-servlet.xml:
...
< context:component-scan base-package="org.bsuir.sotnikovanp.web" />
					
< beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	< beans:property name="prefix" value="/WEB-INF/views/" />
	< beans:property name="suffix" value=".jsp" />
</beans:bean>
...


В web.xml объявлен и смаппирован на "/" только спринговский контроллер.


Соответственно, URL - /myproject/new-user-page, вьюшка лежит в /WEB-INF/views/newuser.jsp. При вызове URL поток контроля проходит через метод (на консоль выводится "here"), но вместо имени страницы (newuser.jsp) ищется страница с именем из URL (new-user-page.jsp). При этом если вместо ModelAndView возвращать String с именем вьюшки, то всё работает нормально.

В чём проблема?