当前位置:  开发笔记 > 后端 > 正文

在Spring Mvc中使用不同的ViewResolver

如何解决《在SpringMvc中使用不同的ViewResolver》经验,为你挑选了1个好方法。

我是spring-mvc的初学者.在浏览解析器时,我能够理解如何使用以下视图解析器:

BeanNameViewResolver,InternalResourceViewResolver和UrlBasedViewResolver

我已经通过谷歌了解但仍然不清楚他们的利弊相互之间.

如何决定何时使用哪个视图解析器.

如果有人可以帮助我理解这一点,那将是一个很大的帮助.

谢谢,



1> Ralph..:

InternalResourceViewResolver是.的子类UrlBasedViewResolver.

UrlBasedViewResolver并且InternalResourceViewResolver经常在MVC应用程序中使用,其中控制器返回应该呈现的视图的名称.控制器返回视图的逻辑名称,解析器通过添加一些前缀和后缀使其成为(jsp的)文件名.例如:控制器返回的逻辑视图名称:main/example,prefix:/WEB-INF/pages/,postfix:.jsp- > /WEB-INF/pages/main/example.jsp使用控制器提供的模型数据进行渲染

UrlBasedViewResolver需求View类(像大多数其他ViewResolvers太).(非常简洁:视图类负责渲染,而解析器负责选择正确的模板/ ...)使用的视图UrlBasedViewResolver必须是子类AbstractUrlBasedView.

InternalResourceViewResolver是方便的子类UrlBasedViewResolver,其具有是默认已配置的视图:InternalResourceView(或者JstlView当jstl的存在).因此,当JSP用作模板引擎时,它是正确的解析器.

还有其他AbstractUrlBasedView实现,例如JasperReports,Freemaker,Velocity,Tiles,......其中大多数也有一个方便的子类UrlBasedViewResolver.

BeanNameViewResolver非常老的解析器,从旧的2.0春季时间开始.此时每个控制器都用于处理一个URL.此时没有@RequestMapping注释,并且必须告诉Spring哪个控制器是哪个url.人们可以列出所有,或者有这个解析器,它能够通过控制器名称映射url-> controller.从Spring 3.0(更精确的自2.5)和Springs注释支持开始,这个解析器很少使用.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有