zoukankan      html  css  js  c++  java
  • springmvc之自定义视图

    在springmvc.xml中配置

        <!-- 配置视图  BeanNameViewResolver 解析器: 使用视图的名字来解析视图 -->
        <!-- 通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 -->
        <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
            <property name="order" value="100"></property>
        </bean>

    常用的视图解析器是:

        <!-- 配置视图解析器:如何把handler返回值解析为实际的物理视图 -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/WEB-INF/views/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>

    一般而言,这两种视图解析器都存在,所以我们要将自定义视图的优先级设置为低。

    HelloView.java 自定义视图需要继承View

    package com.gong.springmvc.views;
    
    import java.util.Date;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.View;
    
    @Component
    public class HelloView implements View{
    
        @Override
        public String getContentType() {
            return "text/html";
        }
    
        @Override
        public void render(Map<String, ?> model, HttpServletRequest request,
                HttpServletResponse response) throws Exception {
            response.getWriter().print("hello view, time: " + new Date());
        }
    
    }

    SpringmvcTest.java

    @RequestMapping("/springmvc")
    @Controller
    public class SpringmvcTest {
        private static final String SUCCESS = "success";
        
        @RequestMapping("/testView")
        public String testView(){
            System.out.println("testView");
            return "helloView";
        }
    }

    返回的值是我们自定义视图的名字:首字母小写。

    index.jsp

        <a href="springmvc/testView">Test View</a>

    启动服务器之后:

    点击:

    证明自定义的视图解析器是成功的。当然我们也可以定义解析向excel等视图。 

  • 相关阅读:
    springboot注解@NotNull,@NotBlank,@Valid自动判定空值
    idea打包java可执行jar包
    Spring Boot 默认支持的并发量
    SpringBoot+MyBatis+MySQL读写分离
    Spring+MyBatis实现数据库读写分离方案
    分布式数据库中间件、产品——sharding-jdbc、mycat、drds
    数据库分库分表、读写分离的原理实现,使用场景
    Mono 3.2.3 Socket功能迎来一稳定的版本
    .NET代码树执行时间计时器
    .net好好地利用Conditional属性
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12179888.html
Copyright © 2011-2022 走看看