2009-09-04 3 views
0

Я пытаюсь использовать MultiActionController в Spring MVC, но я получаю 404 со следующим сообщением в журналеResolve PageNotFound с пружинным MultiActionController

(org.springframework.web.servlet.PageNotFound) нет отображения найдено для запроса HTTP с URI [/www.mysite.no/a/b/c] в DispatcherServlet с именем «myServlet»

похоже, я, следуя примеру книги, но все еще не работает? Идеи, кто-нибудь?

образцы Код: web.xml

<servlet-mapping> 
    <servlet-name>subscriptionServlet</servlet-name> 
    <url-pattern>/a/b/*</url-pattern> 
    </servlet-mapping> 

Spring конфигурации: мой-servlet.xml

<beans ...> 
    <bean id="myController" class="foo.bar.MyController"> 
    <property name="methodNameResolver" ref="productMethodNameResolver"/> 
    </bean> 

<bean id="productMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver"> 
    <property name="mappings"> 
     <value> 
/*=view 
     </value> 
    </property> 
    </bean> 
</beans> 

Контроллер:

public class MyController extends MultiActionController { 

    Log logger = ... 

    @Override 
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{ 

     logger.fatal("Never displayed in log"); 

     return super.handleRequest(request, response); 
    } 

    public ModelAndView view(HttpServletRequest request, HttpServletResponse response) throws Exception { 
     logger.fatal("Never displayed in log"); 
     return null; 
    } 

ответ

0

Я включил URL-адрес для отображения методов в контроллер, но не отображал URL-адрес фактического контроллера. В конфигурацию пружины необходимо добавить следующее:

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <value> 
      /*=myController 
     </value> 
    </property> 
</bean> 
Смежные вопросы