zoukankan      html  css  js  c++  java
  • 【springMVC框架 学习】视图解析器 详解

    Youzg Logo

    基本概念:

    视图解析器是用来 接收并处理 经过处理器适配器调用具体的controller后 生成的逻辑视图的,
    它接受 DispatcherServlet传过来的ModelAndView
    然后将ModelAndView数据填充到相应的视图中,
    最后返回 一个将数据填充后的视图 给 DispatcherServlet(前端控制器/中心控制器)


    使用格式:

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
        <!--前缀-->
        <property name="prefix" value="要访问的路径的前缀名"/>
        <!--后缀-->
        <property name="suffix" value="要访问的路径的后缀名"/>
    </bean>
    

    那么,现在本人来展示下添加视图解析器后的书写格式:

    使用展示:

    首先,本人给出web.xml文件:

    <!DOCTYPE web-app PUBLIC
     "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
     "http://java.sun.com/dtd/web-app_2_3.dtd" >
    
    <web-app>
      <display-name>Archetype Created Web Application</display-name>
      
      <servlet>
        <servlet-name>myServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springMVC.xml</param-value>
        </init-param>
      </servlet>
      
      <servlet-mapping>
        <servlet-name>myServlet</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
      
    </web-app>
    

    接下来,本人给出一个配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    
        <!--开启注解扫描-->
        <context:component-scan base-package="edu.youzg.about_spring_mvc"/>
    
        <!--视图解析器:DispatcherServlet给他的ModelAndView-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
            <!--前缀-->
            <property name="prefix" value="WEB-INF/jsp/"/>
            <!--后缀-->
            <property name="suffix" value=".jsp"/>
        </bean>
    
    </beans>
    

    现在,本人再来给出用注解方式配置的控制器:

    package edu.youzg.about_spring_mvc.controllor;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.servlet.ModelAndView;
    
    /**
     * @Author: Youzg
     * @CreateTime: 2020-05-09 23:00
     * @Description: 带你深究Java的本质!
     */
    @Controller
    public class MyController {
    
        @RequestMapping("/how")
        public String myFun(Model model) {
            // 封装对象,放在Model中
            model.addAttribute("msg", "I'm pretty good!");
            // 要进行内部转发的页面
            return "howAreYou";
        }
    
        @RequestMapping("/hello")
        public String world(Model model) {
            model.addAttribute("msg", "how are you?");
            // 要进行内部转发的页面
            return "index";
        }
        
    }
    

    运行结果展示:

    那么,现在本人来访问 http://localhost:8080/hello
    浏览器会出现如下显示结果:
    浏览器1 展示
    而当我们访问 http://localhost:8080/how 时,
    则会显示如下页面:
    浏览器2 展示


  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/codderYouzg/p/12928307.html
Copyright © 2011-2022 走看看