2010-10-11 4 views
7

Quand je regarde Spring FrameWork 3.0 Je vois l'exemple de code suivant:framework Spring MVC question Dispatcher très basique

@RequestMapping("/index.dlp") 
public ModelAndView index(){ 
    logger.info("Return View"); 
    return new ModelAndView("index"); 
} 

Cette option ne fonctionne pas pour moi. Seulement quand je change le code de la façon suivante:

@RequestMapping("/index.dlp") 
    public ModelAndView index(){ 
     logger.info("Return View"); 
     return new ModelAndView("index.jsp"); 
    } 

Cela fonctionne très bien. Quelqu'un peut-il me dire pourquoi?

Répondre

9

Les noms de vue sont résolus dans les vues réelles par ViewResolver s.

Pour se référer pages JSP par des noms courts, vous devez fournir InternalResourceViewResolver avec prefix et suffix. Les cartes configuration suivante index à /WEB-INF/jsp/index.jsp:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/WEB-INF/jsp/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

Voir aussi:

+2

Voici ce que j'aime: les deux questions et réponses sont claires, compréhensibles et correctes. D'où +1 aux deux –

+0

Merci. Parfait et quoi? Si je voudrais créer deux haricots différents un pour/WEB-INF/jsp/et un second pour/WEB-INF/forms/ou/WEB-INF/forms/jsp /? Je vous remercie. Danny. –

+0

@danny: Alors vous pouvez utiliser '/ WEB-INF /' comme préfixe et 'jsp/index' et' forms/index' comme noms de vues. – axtavt