• 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等视图。 

  • 相关阅读:
    国旗国徽图案标准版本
    Microsoft Office 2013 64位免费完整版(office2013)
    PS的简单抠图教程
    1.5td什么意思
    html img 去除图片之间的缝隙
    PS如何去除图片上的网址
    如何用Photoshop/PS画直线
    实达690KPro参数
    Redis实战篇(一)搭建Redis实例
    Redis性能篇(五)Redis缓冲区
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12179888.html
Copyright © 2020-2023  润新知