1. 视图、视图解析器
对于控制器的目标方法,无论其返回值是String、View、ModelMap或是ModelAndView,SpringMVC都会在内部将它们封装为一个ModelAndView对象进行返回
视图的顶级接口:View
视图解析器的顶级接口:ViewResolver
常见的视图和视图解析器:
InternalResourceView、InternalResourceViewResolver
public class JstlView extends InternalResourceView
SpringMVC解析jsp时, 会默认使用InternalResourceView,如果发现Jsp中包含了jstl语言,则自动转为JstlView
JstlView 可以解析jstl/实现国际化操作
2. 国际化
具体实现国际化的步骤:
-
创建资源文件
命名:基名_语言_地区.properties
- 配置springmvc,加载资源文件
<!-- 加载国际化资源文件 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="i18n"></property>
</bean>
自动寻找基名为:i18n 的资源文件。
springmvc在启动时,会自动寻找一个id="messageSource"的bean,如果有,则自动加载
ResourceBundleMessageSource在springmvc响应程序时 介入(解析国际化资源文件)
-
通过jstl使用国际化
jar包:jstl.jar 和 standar.jar
引入标签库(不是jstl/core)
通过key取value,至于是选哪个资源文件中的value,则要看浏览器的语言是哪种。