天天看点

视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化

1. 视图、视图解析器

视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化

对于控制器的目标方法,无论其返回值是String、View、ModelMap或是ModelAndView,SpringMVC都会在内部将它们封装为一个ModelAndView对象进行返回

视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化
视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化

视图的顶级接口:View

视图解析器的顶级接口:ViewResolver

常见的视图和视图解析器:

InternalResourceView、InternalResourceViewResolver

public class JstlView extends InternalResourceView

SpringMVC解析jsp时, 会默认使用InternalResourceView,如果发现Jsp中包含了jstl语言,则自动转为JstlView

JstlView 可以解析jstl/实现国际化操作

2. 国际化

具体实现国际化的步骤:

  1. 创建资源文件

    命名:基名_语言_地区.properties

  2. 配置springmvc,加载资源文件
<!-- 加载国际化资源文件 -->
  <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  	<property name="basename" value="i18n"></property>
  </bean>
           

自动寻找基名为:i18n 的资源文件。

springmvc在启动时,会自动寻找一个id="messageSource"的bean,如果有,则自动加载

ResourceBundleMessageSource在springmvc响应程序时 介入(解析国际化资源文件)

  1. 通过jstl使用国际化

    jar包:jstl.jar 和 standar.jar

    引入标签库(不是jstl/core)

    视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化
    视图和视图解析器初步了解、国际化1. 视图、视图解析器2. 国际化
    通过key取value,至于是选哪个资源文件中的value,则要看浏览器的语言是哪种。