2010-10-11 15 views
7

Quando sto guardando Spring Framework 3.0 vedo il seguente esempio di codice:Spring MVC quadro domanda Dispatcher molto di base

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

Questa opzione non funziona per me. Solo quando cambio il codice nel seguente modo:

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

Funziona correttamente. Qualcuno può dirmi perché?

risposta

9

I nomi delle viste vengono risolti nelle viste effettive tramite ViewResolver s.

per riferirsi pagine JSP di nomi brevi, è necessario fornire InternalResourceViewResolver con prefix e suffix. mappe La seguente configurazione index a /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> 

Consulta anche:

+2

Questo è quello che mi piace: sia domanda e risposta sono chiare, comprensibili e corretta. Quindi +1 a entrambi –

+0

Grazie. Perfetto e cosa fare se mi piacerebbe creare due bean diversi uno per/WEB-INF/jsp/e secondo per/WEB-INF/forms/o/WEB-INF/forms/jsp /? Grazie. Danny. –

+0

@danny: Quindi puoi usare '/ WEB-INF /' come prefisso e 'jsp/index' e' forms/index' come nomi di viste. – axtavt