文档章节

SpringMVC ------自定义视图

Rickxue
 Rickxue
发布于 2015/12/17 22:39
字数 704
阅读 119
收藏 0
点赞 0
评论 0

    一、视图和视图解析器

       -- 请求处理方法执行完成后,最终返回一个 ModelAndView • 对象。对于那些返回 String,View 或 ModeMap 等类型的        处     理方法,Spring MVC 也会在内部将它们装配成一个 ModelAndView 对象,它包含了逻辑名和模型对象的视图 

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

         -- 对于最终究竟采取何种视图对象对模型数据进行渲染,处• 理器并不关心,处理器工作重点聚焦在生产模型数据的工 作          上,    从而实现 MVC 的充分解耦

    二、视图

         --  视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客• 户。

         -- 为了实现视图模型和具体实现技术的解耦,Spring 在 • org.springframework.web.servlet 包中定义了一个高度抽象的           View 接口:

         -- 视图对象由视图解析器负责实例化。由于视图是无状态的,所以他们• 不会有线程安全的问题

        视图解析器

        -- SpringMVC 为逻辑视图名的解析提供了不同的策略,可• 以在 Spring WEB 上下文中配置一种或多种解析策略,并          指定他们之间的先后顺序。每一种映射策略对应一个具体 的视图解析器实现类。

         -- 视图解析器的作用比较单一:将逻辑视图解析为一个具体• 的视图对象。

         --  所有的视图解析器都必须实现ViewResolver 接口

---------------------------------------------分割线--------------------------------------------------------------

自定义视图:

    1.首先自定义个视图类

    

@Component  //把视图放到IOC容器里面
//这里视图的名字就是HelloView
public HelloView implements View{

    @Override
    public String getContentType(){
        return "text/html";
    }
    
    @Overrider
    public void render(Map<String,?> model,HttpServletRequest request,
            HttpServletResponse response){
            response.getWriter().print("hello view,time:"+new Date());
    }
}

 2.配置视图解析器

    BeanNameViewResolver 解析器:使用视图的名字来解析视图

    <bean  class="org.springframework.web.servlet.view.BeanNameViewResolver">
        <property name="order" value="100" />
    </bean>

  这个视图解析器,是在InternalResourceViewResolver之前被调用, 通过order属性来定义视图的优先级,order值越小优先级越高,InternalResourceViewResolver的order值是inter的最大值,所以一般来说都是最后调用的


© 著作权归作者所有

共有 人打赏支持
Rickxue
粉丝 5
博文 38
码字总数 12975
作品 0
程序员
Spring4 + Spring MVC + MyBatis 整合思路

原文出处:斯武丶风晴 1、Spring框架的搭建 这个很简单,只需要web容器中注册org.springframework.web.context.ContextLoaderListener,并指定spring加载配置文件,那么spring容器搭建完成。...

斯武丶风晴
2017/09/21
0
0
Spring4+SpringMVC+MyBatis整合思路

本文主要简单讲解框架整合的思路。 1、Spring框架的搭建 这个很简单,只需要web容器中注册org.springframework.web.context.ContextLoaderListener,并指定spring加载配置文件,那么spring容...

Java团长17
07/11
0
0
SpringMVC知识梳理(一)

什么是SpringMVC SpringMVC其实就是spring框架的一个模块,SpringMVC和spring之间可以无缝整合,SpringMVC也是一个非常优秀的基于MVC的web框架,什么是MVC这里就不多说了,下面来了解一下spr...

iHuawen
2017/12/28
0
0
springmvc笔记--配置文件简述

一:spring容器的配置文件 1:父spring容器(服务层service,持久层dao)的spring配置文件在<content-param></content-param>中定义 2:springmvc的DispatcherServlet上下文所用到的bean也需...

那位先生
2014/06/12
0
0
Spring3 MVC Login Interceptor

在学spring3 mvc,做了个简单的CRUD,但是用户不登录也能直接访问任何页面。我的想法是写个SecurityInterceptor在preHandle中判断session是不是存在user对象。配置如下: mvc:interceptorsmv...

cyper
2012/10/18
0
8
Spring Boot干货系列: (四)开发Web应用之Thymeleaf篇

        前言   Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。   正文   Spring Boot提供了spring-boot-starter-web为Web开发予以支持,s...

后端编程嘟
2017/03/13
0
0
spring3mvc自定义多视图解析器

使用视图名后缀来判断选择相应的视图解析器 自定义一个视图解析器,MultiViewResover.java package com.it.app.web; import java.util.Locale;import java.util.Map; import org.springfram...

java-苦苦甜甜
2012/10/12
0
0
SpringMVC 基于注解的Controller @RequestMapping @Request

概述 继 Spring 2.0 对 Spring MVC 进行重大升级后,Spring 2.5 又为 Spring MVC 引入了注解驱动功能。现在你无须让 Controller 继承任何接口,无需在 XML 配置文件中定义请求和 Controller...

蓝狐乐队
2014/02/28
0
1
Spring3.2 MVC 分析

Spring3.2 MVC 分析: SpringMVC现在应该用得很广泛了,其配置清晰,灵活度,定制能力等都是很强的,相比Struts2也是胜过一筹,还是从源码来分析一下,SpringMVC为我们做了什么。 先从配置文...

ihaolin
2014/02/03
0
2
ssm框架~环境搭建以及相关配置

ssm框架的学习小结,主要是初期环境的搭建配置以及信息的交互处理过程,非技术人员请绕道~有什么疑问可以关注我的公众号:多一点思考。 SpringMVC其实就是Spring框架的一个模块,是一个基于M...

一只大黑猫
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部