2013-09-18 3 views
0

Я пытаюсь сделать RESTful URL mapping весной 2.5. Это по существу означает: /принести/(то) все должно быть согласовано с контроллером выборкиКак сделать отображение подстановки в Spring MVC?

И контроллер будет делать что-то по параметру (что-то)

добавить это к моей весенней конфигурации:

<bean id="fetchController" class="(package).fetchController" scope="singleton"/> 

<bean id="fetchService" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="/fetch/*">fetchController</prop> 
     </props> 
    </property> 
</bean> 

и добавьте следующие строки в моей web.xml

<servlet-mapping> 
    <servlet-name>springGlobal</servlet-name> 
    <url-pattern>/fetch/*</url-pattern> 
</servlet-mapping> 

<servlet> 
    <servlet-name>springGlobal</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

Но это не себе чтобы они были правильными. Журнал говорит: org.springframework.web.servlet.PageNotFound - отображение не найдено для запроса HTTP с URI [/ Fetch/графики] в DispatcherServlet с именем отображений обработчика

+0

Не по теме: пожалуйста, подумайте об обновлении до '3.2'. Версия '4.0' также находится на пути. –

+0

Хотел бы я, но это не то, что я контролирую. – NSF

ответ

1

Controller «springGlobal» разрешаются относительно сервлета отображение. Что у вас есть, таким образом, отображается в

/fetch/fetch/* 

Вы должны использовать

<property name="mappings"> 
    <props> 
     <prop key="/*">fetchController</prop> 
    </props> 
</property> 
+0

Подождите минуту ... Что делать, если у меня есть другой контроллер, должен отображаться в/status/*. Тогда в этом случае у меня будет два контроллера с ключом prop = "/ *". Как весна знает, какую из них выбрать? – NSF

+0

Я не уверен с 2.5, но он должен выбрать наиболее конкретный. Также вы можете сделать карту 'DispatcherServlet' в'/* 'и иметь отдельные контроллеры'/fetch/* ','/status/* '. –

+0

Это работает, хотя я все еще смотрю на это, чтобы посмотреть, как сделать его лучше. Благодарю. – NSF

Смежные вопросы