Попытка неявно передать представление с помощью контроллера mvc: view - PullRequest
1 голос
/ 31 октября 2011

У меня есть файл конфигурации Spring с MANY записями, такими как приведенные ниже.

<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 Ответ

1 голос
/ 31 октября 2011

Идея mvc:view-controller состоит именно в том, чтобы избежать необходимости реализовывать контроллер, тогда как его единственной задачей будет отправка в представление. Достаточно просто иметь этот тег в XML. Вам не нужен контроллер.

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

Если у вас есть логика контроллера и, следовательно, вам нужен контроллер, то элемент mvc: view-controller должен быть удален и заменен фактическим контроллером, который отправляет соответствующий вид. Вы можете избежать явного указания имени представления здесь, используя RequestToViewNameTranslator, как объяснено здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...