2015-06-19 2 views
1

Я начинаю с весны, и я пытаюсь понять, как работает контроллер. У меня есть несколько методов, аннотированных с помощью @RequestMapping, и все работает отлично, но я не знаю, как обрабатывать простые запросы страниц.Spring перенаправление страниц хорошие привычки

Предположим, мне нужно перенаправить с одной страницы на другую, не делая логики сервера. Если я создаю URL-адрес Перенаправление PageA.jsp, кажется, что я всегда нужно определить метод ловли запрос в контроллер, объявляя метод, который Pratically пуст, как это:

@RequestMapping(value="/PageA.jsp") 
public String redirectToPageA(){ 
return "PageA"; 
} 

Если я не следовать этому Я получаю ошибку 404, поскольку контроллер не может найти отображение. Мне не нравится такой подход, поскольку он заполняет мой контроллер бесполезными пустыми методами.

Каков предложенный подход?

+1

Нет, вы не можете использовать [view-controller] (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-config- view-controller). –

+0

Итак, насколько я понимаю, вы хотите пойти прямо в какой-то JSP? Без создания сопоставления URL-адресов в контроллере, который возвращает эту страницу? –

+0

спасибо @ M.Deinum, вот что я искал! – lateralus

ответ

1

Предлагаю использовать view resolver.

Подробнее об этом here - 17.5.1 Resolving views with the ViewResolver interface from 17. Web MVC framework.

В этом разделе у вас есть

В качестве примера с JSP, как вид технологии, вы можете использовать UrlBasedViewResolver. Этот вид распознаватель переводит имя вида на URL и рук запрос через к RequestDispatcher для визуализации Просмотреть

<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.UrlBasedViewResolver"> 
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> 
    <property name="prefix" value="/WEB-INF/jsp/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

При возврате теста как логическое имя точки зрения, это вид распознаватель перенаправляет запрос на RequestDispatcher который отправит запрос /WEB-INF/jsp/test.jsp. включая код.

И this answer имеет конфигурацию представления разрешения на основе аннотаций (за исключением использования UrlBasedViewResolver).

+0

Спасибо, это был я искал! – lateralus

+0

Добро пожаловать! –

+0

вы также можете попробовать apache-плитки для шаблона, и вы также можете иметь несколько разрешающих устройств для определения приоритетов. http://www.javatpoint.com/spring-mvc-tiles-example для примера плитки –

Смежные вопросы