2009-09-04 7 views
0

Je suis en train d'utiliser un MultiActionController dans mvc de printemps, mais je continue à obtenir un 404 avec le message suivant dans le journalResolve pagenotfound avec ressort MultiActionController

(org.springframework.web.servlet.PageNotFound) aucune correspondance trouvée pour la requête HTTP avec URI [/www.mysite.no/a/b/c] dans DispatcherServlet avec le nom « myServlet »

on dirait que je suis l'exemple du livre, mais il ne fonctionne toujours pas? Des idées, quelqu'un?

Exemples de code: web.xml

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

configuration Spring: my-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> 

Le contrôleur:

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; 
    } 

Répondre

0

j'avais inclus la cartographie URL pour les méthodes dans le contrôleur, mais manqué de mappage d'URL au contrôleur réel. Ce qui suit doit être ajouté à la config de printemps

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <value> 
      /*=myController 
     </value> 
    </property> 
</bean> 
Questions connexes