2010-10-11 11 views
7

Wenn ich betrachte Spring Framework 3.0 Ich sehe das folgende Codebeispiel:Spring MVC Framework sehr einfach Dispatcher Frage

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

Diese Option ist nicht für mich arbeiten. Nur wenn ich den Code folgendermaßen ändere:

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

Es funktioniert gut. Kann mir jemand sagen warum?

Antwort

9

Ansichtsnamen werden durch ViewResolver s in die tatsächlichen Ansichten aufgelöst.

Um JSP-Seiten mit kurzen Namen zu referenzieren, müssen Sie InternalResourceViewResolver mit prefix und suffix angeben. Die folgende Konfiguration abbildet index zu /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> 

Siehe auch:

+2

Dies ist, was Ich mag: beide Fragen und Antworten sind klar, verständlich und richtig sind. Daher +1 zu beiden –

+0

Vielen Dank. Perfekt und was, wenn ich zwei verschiedene Beans für/WEB-INF/jsp/und/für/WEB-INF/forms/oder/WEB-INF/forms/jsp/erstellen möchte? Vielen Dank. Danny. –

+0

@danny: Dann können Sie '/ WEB-INF /' als Präfix und 'jsp/index' und' forms/index' als Ansichtsnamen verwenden. – axtavt