[刘阳Java]_ResourceBundleViewResolver视图解析器_第7讲

ResourceBundleViewResolver是根据proterties文件来找对应的视图来解析“逻辑视图”。该properties文件默认是放在classpath路径下的views.properties文件,但是我们也可以在配置ResourceBundleViewResolver的时候通过它的属性basename来设置

1. 在SpringMVC的配置文件添加ResourceBundleViewResolver视图解析器

<?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:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    
    <mvc:annotation-driven></mvc:annotation-driven>
    <context:component-scan base-package="com.gxa.spmvc.controller"></context:component-scan>

    <bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver"
        p:basename="com/gxa/spmvc/config/views"
        p:order="1"></bean>

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:prefix="/" p:suffix=".jsp"></bean>

</beans>

2. 在项目的src/com/gxa/spmvc/config中创建views.properties文件,目的是改变默认路径下properties文件

m09.(class)=org.springframework.web.servlet.view.InternalResourceView
m09.url=/m09.jsp

上面的属性文件的编写方式非常重要,特别是key不能写错了。下面我们来说明一下key的具体含义是什么

  • m09表示处理器(controller)返回的逻辑视图
  • m09.(class)表示对应的视图类
  • m09.url表示物理视图
  • 当处理器(controller)返回"m09"时,会在前台显示/m09.jsp的页面内容

 3. 控制器代码

package com.gxa.spmvc.controller;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

import com.gxa.spmvc.entity.Student;

/**
 * SpringMVC的控制器(业务控制器)
 * 定义的方法就是一个请求处理的方法
 * @author caleb
 *
 */
@Controller
@RequestMapping("/user")
public class TestController {
    
    @RequestMapping("/m09")
    public String m09() {
        return "m09";
    }
    
}

 源码下载地址:https://pan.baidu.com/s/1eSDZwFg

原文地址:https://www.cnblogs.com/liuyangjava/p/6765659.html