springmvc视图解析流程代码实例

这篇文章主要介绍了springmvc视图解析流程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在springmvc.xml配置文件中配置了将逻辑视图转换成物理视图:

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

在java中:

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

那么最终在index.jsp页面

  <a href="springmvc/test" rel="external nofollow" >test</a>

发送请求地址为/springmvc/test时,会返回SUCCESS。而前面的视图配置会将SUCCESS转换为/WEB-INF/views/success.jsp。

那么springmvc是如何进行处理的呢?

请求处理方法返回值类型一般可以有三种:

  • String
  • ModelAndView
  • View

无论是哪一种,springmvc都会将其装配成ModelAndView。然后通过ViewResolver得到最终的视图对象,最终的视图可以是jsp、excel等各种表示形式的视图。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 自定义spring mvc的json视图实现思路解析

    场景 我们团队现在面临着多端数据接口对接的问题,为了解决这个问题我们定义了接口对接的规范, 前端(安卓,Ios,web前端)和后端进行了数据的格式规范的讨论,确定了json的数据格式: { "code":"200", "data":{"":""}, "message":"处理成功" } { "code":"300", "

  • Spring Boot应用配置常用相关视图解析器详解

    SpringBoot的自动装配装配了视图解析器了吗? 我们可以看到SpringBoot自动装配的WebMvcAutoConfiguration类中,装配了以下关于ViewResolver(视图解析器)的类.可以看到SpringBoot已经自动装配了InternalResourceViewResolver类,又是通过外部资源配置的方式来配置此视图解析器this.mvcProperties.getView().getPrefix(),所以我们可以在application.properties文件配置

  • 浅谈SpringMVC之视图解析器(ViewResolver)

    SpringMVC中的视图解析器的主要作用就是将逻辑视图转换成用户可以看到的物理视图. 当用户对SpringMVC应用程序发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,通过处理器找到最为合适的HandlerMapping定义的请求映射中最为合适的映射,然后通过HandlerMapping找到相对应的Handler,然后再通过相对应的HandlerAdapter处理该Handler.返回结果是一个ModelAndView对象,当该ModelAndView对象

  • SpringBoot使用JSP作为视图模板的方法

    第一次写博客,其实网上已经有很多关于SpringBoot使用JSP作为视图模板的博客文章了,不过当我在使用他们的文章作为指导发现了一些问题,也许是因为那些大神们境界很高了,不需要注意到一些细枝末节,但作为初学者,因为一些不明白的原因而一直无法入门是一件非常痛苦的事,所以在这里,我是以一个初学者的角度来写这篇文章,顺便给自己做一个备忘. 系统:Windows IDE:IntelliJ IDEA JDK:1.8 SpringBoot:1.5.9RELEASE (1)创建SpringBoot项目,添加

  • Spring MVC学习教程之视图深入解析

    前言 在RequestMappingHandlerAdapter对request进行了适配,并且调用了目标handler之后,其会返回一个ModelAndView对象,该对象中主要封装了两个属性:view和model.其中view可以是字符串类型也可以是View类型,如果是字符串类型,则表示逻辑视图名,如果是View类型,则其即为我们要转换的目标view:这里model是一个Map类型的对象,其保存了渲染视图所需要的属性.本文主要讲解Spring是如何通过用户配置的ViewResolver来对视

  • springboot自定义异常视图过程解析

    这篇文章主要介绍了springboot自定义异常视图过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.源码分析 先看源码再写自己的自定义异常视图 resolveErrorView()函数首先调用了一个返回ModelAndView的函数,该函数所需的参数是一个状态码的字符串,和一个map集合,该集合是错误信息 也就是下图这个函数 上图函数判断你是否提供了templates/error/下的动态错误页 如果提供了直接返回视图名和错误信息

  • Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图的方法

    本篇给大家介绍Spring Boot 与 kotlin 使用Thymeleaf模板引擎渲染web视图. 静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源,使用Spring Boot 与 kotlin如何去支持这些静态资源?,很简单. 默认配置 Spring Boot默认提供静态资源目录位置需置于 classpath 下,目录名需符合如下规则: /static /public /resources /META-INF/resources 举例:我们可以在src/

  • springmvc视图解析流程代码实例

    这篇文章主要介绍了springmvc视图解析流程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在springmvc.xml配置文件中配置了将逻辑视图转换成物理视图: <!-- 配置视图解析器:如何把handler返回值解析为实际的物理视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"&g

  • Python文件操作基本流程代码实例

    文件操作之基本流程 #文本 近日,上市药企--浙江莎普爱思药业股份有限公司频遭质疑. 12月2日,一篇名为<一年卖出7.5亿的洗脑"神药",请放过中国老人>的文章称, 多位眼科医生并不认可莎普爱思滴眼液的"白内障防治功效".质疑者认为, 莎普爱思滴眼液是"假科普,真营销",通过广告误导患者. 针对质疑,莎普爱思3日晚发布的公告称, 0.5%苄达 赖氨酸滴眼液已于上世纪90年代通过了临床试验, 是一种安全的.有效的抗白内障药物.假的 #

  • Java中io流解析及代码实例

    IO流 Java中IO流分为两种,字节流和字符流,顾名思义字节流就是按照字节来读取和写入的,字符刘是按照字符来存取的:常用的文件读取用的就是字符流,在网络通信里面用的就是字节流 下面这张图是Java中IO流的总体框架: 字节流 Java中字节流一般都是以stream结尾的,输入的字节流叫InputStream,输出字节流叫OutputStream;InputStream和OutputStream是表示自己输入/输出的所有类的超类,是抽象类(abstract) 常用的字节流有: 1.FileInp

  • rapidjson解析json代码实例以及常见的json core dump问题

    rapidjson解析json代码实例 直接看代码: #include <iostream> #include <stdio.h> #include<unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include<sstream> // 请自己下载开源的rapidjson #include "rapidjson/

  • SpringMVC的@InitBinder参数转换代码实例

    这篇文章主要介绍了SpringMVC的@InitBinder参数转换代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 @Controller @RequestMapping("/index") public class IndexController { /** * 解决前端传递的日期参数验证异常 * * @param binder * @author hzj */ @InitBinder({"param",

  • Python解析json代码实例解析

    这篇文章主要介绍了Python解析json代码实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 什么是json格式: JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. import json data = { "statusCode": 200, "data":

  • Spring自定义参数解析器代码实例

    这篇文章主要介绍了Spring自定义参数解析器代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 结合redis编写User自定义参数解析器UserArgumentResolver import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation

  • Java servlet执行流程代码实例

    这篇文章主要介绍了Java servlet执行流程代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.先附上代码如下 Servlet1.java public class Servlet1 implements Servlet { @Override public void init(ServletConfig config) throws ServletException { } @Override public ServletCon

  • Apache Calcite进行SQL解析(java代码实例)

    背景 当一个项目分了很多模块,很多个服务的时候,一些公共的配置就需要统一管理了,于是就有了元数据驱动! 简介 什么是Calcite?是一款开源SQL解析工具, 可以将各种SQL语句解析成抽象语法树AST(Abstract Syntax Tree), 之后通过操作AST就可以把SQL中所要表达的算法与关系体现在具体代码之中.Calcite能做啥? SQL 解析 SQL 校验 查询优化 SQL 生成器 数据连接 实例 今天主要是贴出一个java代码实例,实现了:解析SQL语句中的表名上代码:SQL语

  • Spring mvc Json处理实现流程代码实例

    接收JSON 浏览器传来的参数,可以是 key/value 形式的,也可以是一个 JSON 字符串.在 Jsp/Servlet 中,我们接收 key/value 形式的参数,一般是通过 getParameter 方法.如果客户端商户传的是 JSON 数据,我们可以通过如下格式进行解析: @RequestMapping("/addbook2") @ResponseBody public void addBook2(HttpServletRequest req) throws IOExce

随机推荐