2009-07-31 60 views
1

根據Spring框架APIUrlFilenameViewController會不會返回視圖(春MVC)

UrlFilenameViewController會的宗旨是:

變換的URL的虛擬路徑到視圖名稱和查看

回報

如果我對/info.xhtml要求,其邏輯視圖名稱是信息

UrlFilenameViewController documentatio Ñ

兩個web.xml和控制器根據

/WEB-INF/web.xml 
<?xml version="1.0" encoding="UTF-8"> 
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <display-name>smac</display-name> 
    <servlet> 
     <servlet-name>controller</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>controller</servlet-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </servlet-mapping> 
</web-app> 

/WEB-INF/controller-servlet.xml 
<?xml version="1.0" encoding="UTF-8"> 
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
    <bean class="org.springframework.web.servlet.view.InternalViewResolver"> 
     <property name="prefix" value="/WEB-INF/output/"/> 
     <property name="suffix" value=".jsp"/> 
    </bean> 
    <bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/> 
</beans> 

我的SMAC應用部署細被映射。

因此,如果我要求http://127.0.0.1:8080/smac/info.xhtml,Spring-MVC應該返回/WEB-INF/output/info.jsp。但我所看到的控制檯以下:

沒有映射發現HTTP請求的URI與[/smac/info.xhtml在DispatcherServlet的名稱爲「控制器」

誰能幫助我?

問候,

回答

2

您需要配置一個HandlerMapping。默認的一個是BeanNameUrlHandlerMapping,如果你在與你的URI匹配的名稱下綁定你的控制器bean,它將只做你想要的。您可能需要SimpleUrlHandlerMapping代替:

<bean name="myController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/> 

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