Spring学习点滴,《Spring in Action》笔记(七) - 编程入门网
ocation"><value>/WEB-INF/training-
views.xml</value></property></bean>
这时候,对于 return new ModelAndView("courseList"); 就会到 /WEB-INF/training-views.xml 中 寻找 courseList 的 Bean。XmlViewResolver 的缺少 location 属性值为 /WEB-INF/views.xml(P278) Spring学习点滴,《Spring in Action》笔记(七)(4)时间:2011-08-18 unmi.cc 隔叶黄莺97. ResourceBundleViewResolver,一看这名字中的 ResourceBundle 就是跟属性文件、国际化有关 。来看看这样一个配置: <bean name="bundleViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"> <property name="basename"><value>views</value></property></bean>< ;bean name="bundleViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver"><property name="basename"><value>views</value></property></bean> 并在 classpath 下有四个属性文件,文件名及内容分别是: views.properties 文件和 views_zh_CN.properties 文件的内容是: courseList.class=com.unmi.training.mvc.CourseListPdfView courseList.class=com.unmi.training.mvc.CourseListPdfView views_en_US.properties 文件内容是: courseList.class=com.unmi.training.mvc.CourseListExcelView courseList.class=com.unmi.training.mvc.CourseListExcelView views_de_DE.properties 文件的内容是: courseList.class=org.springframework.web.servlet.view.JstlView #这下面就是设置 JstlView 的 url 属性 courseList.url=/WEB-INF/jsp/courseList.jsp courseList.class=org.springframework.web.servlet.view.JstlView #这下面就是设置 JstlView 的 url 属性 courseList.url=/WEB-INF/jsp/courseList.jsp 很好也很自然的理解,通过上面的配置就能根据不同区域的用户用不同类型的视图呈现给用户,例如 对于 new ModelAndView("courseList"),中国人访问解析到了 CourseListPdfView(PDF 展示),美国人 访问显示了一个 Excel 表格(CourseListExcelView),给德国的是一个使用 JSTL 标签 JSP 页面。也了 解到视图 Bean 是根据 properties 文件中的配置来初始化的(P279) Spring学习点滴,《Spring in Action》笔记(七)(5)时间:2011-08-18 unmi.cc 隔叶黄莺98. 项目中使用模板页面居多,所以常用的是 InternalResourceViewResolver。不过我常见得这一视 图解析器比起 Struts 和 WebWork 有不足之处resolver是,它的逻辑视图名还携速了文件名信息,要导 向到别的 JSP 文件还得修改代码。其他三个视图解析器 BeanNameViewResolver、XmlViewResolver 和 ResoureBundlerViewResolver 的区别只在它们从哪儿获得视图实现,应根据实际情况选用。 如果一个系统中要多个视图解析器,该怎么办呢?那就在配置文件中配置多个了,用 order 属性指定 应用的顺序,从小至大,即 ViewResolver 的: <property name="order"><value>1</value></property> 书中 P281 中给 InternalResourceViewResolver 配置了 order 属性,而我查过 Spring 1.2.4/1.2.8/1.2.9 的 InternalResourceViewResolver 代码,它并没有直接或简接的实现 Ordered 接 口,也就是不能对它配置 order 属性。在 Spring 2.0 的 InternalResourceViewResolver 才简接的实 现了 Ordered 接口,看得出 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |