我是Spring的初学者,我正在努力了解控制器的工作原理。
我有几个用@RequestMapping
注释的方法,一切正常,但我不知道如何处理简单的页面请求。
假设我必须从一个页面重定向到另一个页面,而不需要创建服务器逻辑。如果我创建重定向到PageA.jsp
的URL,似乎我总是需要定义在Controller中捕获请求的方法,声明一个非常空的方法,如下所示:
@RequestMapping(value="/PageA.jsp")
public String redirectToPageA(){
return "PageA";
}
如果我不遵循这种方法,我会收到404错误,因为控制器无法找到映射。我不喜欢这种方法,因为它用无用的空方法填充我的控制器。
建议的方法是什么?
答案 0 :(得分:1)
我建议使用view resolver。
详细了解here - 17.5.1 Resolving views with the ViewResolver interface from 17. Web MVC framework。
在那部分你有
作为一个使用JSP作为视图技术的例子,你可以使用 作为UrlBasedViewResolver。此视图解析程序将视图名称转换为a 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)。