簡體   English   中英

Spring MVC默認視圖解析器不工作?

[英]Spring MVC Default View Resolver Not Working?

我希望任何不解析為特定控制器映射的請求轉到具有從請求路徑派生的名稱的視圖。

例如, localhost/success應該最終呈現位於/WEB-INF/view/freemarker/success.ftl的視圖。 我從Spring文檔中收集到默認情況下應該啟用此行為 ,因為它似乎不適用於我的設置。

<mvc:annotation-driven />
<mvc:interceptors>
    <!-- On pre-handle, resolve the device that originated the web request -->
    <bean
        class="org.springframework.mobile.device.DeviceResolverHandlerInterceptor" />
</mvc:interceptors>

<!-- Spring Mobile -->
<bean
    class="org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver">
    <constructor-arg>
        <!-- Freemarker -->
        <bean id="viewResolver"
            class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
            <property name="cache" value="false" />
            <property name="prefix" value="" />
            <property name="suffix" value=".ftl" />
        </bean>
    </constructor-arg>
    <property name="mobilePrefix" value="mobile/" />
    <property name="tabletPrefix" value="tablet/" />
</bean>

<bean id="freemarkerConfig"
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
    <property name="templateLoaderPath" value="/WEB-INF/view/freemarker/" />
</bean>

事實證明,沒有為這些請求找到HandlerMapping實現,因此DispatcherServlet從不調用DefaultRequestToViewNameTranslator

添加以下內容提供了相應的HandlerMapping ,從而填充了缺失的鏈接。 現在唯一的缺點是,它會在SEVERE上針對任何無法滿足的請求拋出異常日志,而不是DispatcherServlet更禮貌的警告。

<mvc:view-controller path="/*" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM