我用Tiles項目創建了Spring MVC。爲什麼我們不應該同時使用jspViewResolver和TilesViewResolver?
我的控制器返回一個字符串「hello」,這是一個邏輯文件名,我把jsp稱爲hello.jsp。
在tiles.xml中,我應該有一個名爲hello的定義擴展定義模板。 我的基本定義被映射到layout.jsp。
當我添加jspViewResolver時,它將我帶到hello.jsp,但是如果我將其註釋掉,它將根據tile.xml中的hello定義呈現layout.jsp。
那麼,爲什麼我們不應該同時使用jspViewResolver和tilesViewResolver?
兩者都是UrlBasedViewResolver的實例,它簡單地構造一個URL,而不管請求的視圖是否存在。其他'ViewResolver'像'BeanNameViewResolver'不存在時不返回視圖。在你的視圖解析器鏈中有多個UrlBasedViewResolver會使最後一個永遠不會調用。正如課程的文檔中所解釋的那樣。 – 2014-09-22 05:41:00
如果您想將此作爲答案,我可能選擇此作爲最佳答案。 :) – user3705478 2014-09-22 07:34:34
該評論實際上並不完全正確,給了一些更詳細的解釋。 – 2014-09-22 09:21:44