springMVC-5-视图解析器

视图和视图解析器工作流程

  • 第一步:获取到ModelAndView对象

请求处理方法执行完成后,无论返回是String,View 还是 ModeMap 类型,Spring MVC 也会在内部将它们装配成一个 ModelAndView 对象,它包含了逻辑名和模型对象的视图

  • 第二步:把ModelAndView对象处理得到View对象,再得到真正的视图

Spring MVC 借助视图解析器(ViewResolver)得到最终 的视图对象(View),最终的视图可以是 JSP ,也可能是 Excel、JFreeChart 等各种表现形式的视图

常用的视图表现类

jstl配置的国际化操作

配置依赖

<dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
    <exclusions>
        <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
        </exclusion>
        <exclusion>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
</dependency>


//记住:一定要在IDEA中的lib目录下配置好这几个依赖

配置properties配置文件

在resource下创建三个文件:i18n.peropertiesi18n_zh_CN.propertiesi18n_en_US.properties

创建之后会自动生成Resoure Bundle 'i18n'目录把这三个配置文件包含在一起

i18n.peroperties

i18n.username = Username
i18n.password = Password

i18n_zh_CN.properties

i18n.username = \u7528\u6237\u540D
i18n.password = \u5BC6\u7801

i18n_en_US.properties

i18n.username = Username
i18n.password = Password

在springmvc-servlet.xml配置文件中配置国际化资源文件

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

在目标jsp文件中添加jstl配置

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

//使用
<fmt:message key="i18n.username"></fmt:message>
<br>
<fmt:message key="i18n.password"></fmt:message>
<br>

在电脑首选项为中文的情况下会显示中文,首选项为英文的时候会显示英文

配置直接转发页面(不经过control)

springmvc-servlet.xml

<!--配置直接转发页面-->
<!--当在jsp页面里转/redict时,会直接转到/ModelAndViews页面,而不会经过dispatcherServlet控制器-->
<mvc:view-controller path="/redict" view-name="ModelAndViews"/>

index.jsp

<h1>配置直接转发页面</h1>
<a href="/redict">直接跳转</a>

自定义视图(了解)

重定向

  • 一般情况下,控制器方法返回字符串类型的值会被当成逻 辑视图名处理
  • 如果返回的字符串中带 forward: 或 redirect: 前缀 时,SpringMVC 会对他们进行特殊处理:
  • 将 forward: 和 redirect: 当成指示符,其后的字符串作为 URL 来处理
  • redirect:success.jsp:会完成一个到 success.jsp 的重定向的操作
  • forward:success.jsp:会完成一个到 success.jsp 的转发操作
posted @ 2021-06-07 16:13  Coder-Wang  阅读(156)  评论(0编辑  收藏  举报