Spring MVC 教程,快速入门,深入分析(7)

2019-03-03 23:09

十八、多视图控制器

当有jsp,flt (模板)等多种页面生成展示方式时,spring默认使用的是“视图解析器链”。 真是一个链,所以性能不好,spring会在“视图解析器链”中顺序的查找,直到找到对应的 “视图解析器” 。jsp视图解析器一定要写在最后面,因为一旦调用jsp,就向浏览器发出数据了,Spring就没有机会再尝试下一个了。

所以自己写一个\多视图解析器\,依靠扩展名来区分,可一次准确的选中一个 视图解析器,提高性能(会有多少提高呢?没测试过).

下面的例子支持jsp,flt (模板)两种页面生成展示方式,你中以自己添加,支持更多。

Xml代码

1. 2. 3. 4. 5. 6.

jsp/\/>

7.

ringframework.web.servlet.view.JstlView\>

9. 10.

11.

12.

view.freemarker.FreeMarkerViewResolver\>

13. 14.

/html;charset=UTF-8\>

15.

16.

\ value=\/>

17.

ringframework.web.servlet.view.freemarker.FreeMarkerView\/>

18.

\ value=\>

19. 20. 21. 22. 23. 24.

25.

26.

k.web.servlet.view.freemarker.FreeMarkerConfigurer\>

27.

tl/\ />

28. 29.

30. 5 31. UTF-8 32. zh_CN 33. 34. 35.

Java代码

1. import java.util.Locale; 2. import java.util.Map;

3. import org.springframework.web.servlet.View;

4. import org.springframework.web.servlet.ViewResolver; 5. 6. /**

7. * 说明: 多视图处理器 8. *

9. * @author 赵磊

10. * @version 创建时间:2011-8-19 上午09:41:09 11. */

12. public class MixedViewResolver implements ViewResolver{ 13. private Map resolvers; 14.

15. public void setResolvers(Map resol

vers) {

16. this.resolvers = resolvers; 17. } 18.

19. public View resolveViewName(String viewName,Locale local

e) throws Exception{

20. int n=viewName.lastIndexOf(\); 21. if(n!=-1){

22. //取出扩展名

23. String suffix=viewName.substring(n+1); 24. //取出对应的ViewResolver

25. ViewResolver resolver=resolvers.get(suffix); 26. if(resolver==null){

27. throw new RuntimeException(\

r for \+suffix);

28. }

29. return resolver.resolveViewName(viewName, local

e);

30. }else{

31. ViewResolver resolver=resolvers.get(\); 32. return resolver.resolveViewName(viewName, local

e);

33. } 34. } 35. }

转载请注明出处:原文地址:http://elf8848.iteye.com/blog/875830

十九、 到底做了什么工作

一句 实际做了以下工作:(不包括添加自己定义的拦截器)

我们了解这些之后,对Spring3 MVC的控制力就更强大了,想改哪就改哪里。

Xml代码

1.

2.

on.DefaultAnnotationHandlerMapping\>

3. 4.

5.

6.

26.

ter.StringHttpMessageConverter\ />

27.

erter.ResourceHttpMessageConverter\ />

28.

ter.xml.SourceHttpMessageConverter\ />

29.

converter.xml.XmlAwareFormHttpMessageConverter\ />

30.

ttp.converter.xml.Jaxb2RootElementHttpMessageConverter\ />

-- 处理.. -->

31.

rter.json.MappingJacksonHttpMessageConverter\ />


Spring MVC 教程,快速入门,深入分析(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:为客排扰解难

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: