2011-10-31 91 views
1

我有一個彈性配置文件,其中包含很多條目,如下面的條目。嘗試使用mvc隱式傳遞視圖:視圖控制器

<mvc:view-controller path="/test/one" view-name="one.xml" /> 
<mvc:view-controller path="/test/two" view-name="two.xml" /> 
<mvc:view-controller path="/test/three" view-name="three.xml" /> 

現在我正在集成控制器代碼,我試圖避免每個頁面都有一個請求映射。有沒有辦法讓Spring MVC隱式地使用controllers.xml中指定的視圖來查找頁面。

因此,而不是返回一個字符串作爲視圖。我想一個方法,我在那裏返回void或者只是模型到頁面,併爲它找到頁面

@RequestMapping(value = "/test/one", method = RequestMethod.GET) 
public String getOne(HttpServletRequest request, Model model) { 

    // Business Logic 
    return "one.xml" // would like to be able to return void here or just the mode 
} 

回答

1

mvc:view-controller的想法恰恰是爲了避免不得不實施控制器煥其唯一的工作會發送到一個視圖。只需在XML中使用此標記就足夠了。你不需要控制器。

參見http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-view-controller

如果有控制器邏輯,因此需要一個控制器,則MVC:視圖 - 控制器元件應被刪除,和由實際控制,其分派到相應的視圖來代替。您可以避免在這裏使用RequestToViewNameTranslator來明確指定視圖名稱,如here所解釋的。

+0

對不起。我沒有解釋。現在在控制器類中需要邏輯,我不得不在return語句中顯式指定視圖名稱。 –

+0

在控制器中指定視圖名稱時看不到任何問題:這是它的主要任務之一:選擇合適的視圖。如果你真的不想,看看我的編輯。 –

相關問題