首页 > 其他分享 >public interface View接口和public interface ViewResolver接口介绍

public interface View接口和public interface ViewResolver接口介绍

时间:2024-07-18 09:00:00浏览次数:11  
标签:视图 ViewResolver 接口 interface home public View

在Spring MVC中,public interface View 和 public interface ViewResolver 是两个相互关联但功能不同的接口。它们共同在视图解析和渲染过程中发挥作用,但各自承担的责任不同。

  • View 接口
    View 接口定义了如何渲染一个特定的视图。它通常包含一个 render 方法,该方法接受一个 ModelMap(或类似的模型数据)和一个 HttpServletRequest/HttpServletResponse 对,然后生成响应的内容。Spring MVC 提供了许多 View 接口的实现,例如 JstlView 用于 JSP,RedirectView 用于重定向,FreeMarkerView 用于 FreeMarker 模板等。

  • ViewResolver 接口
    ViewResolver 接口则定义了如何将逻辑视图名称解析为 View 对象的规则。在Spring MVC中,当Controller处理完请求并返回一个逻辑视图名称(通常是一个字符串)时,DispatcherServlet 会使用配置的 ViewResolver 来解析这个逻辑视图名称,并找到对应的 View 对象。然后,DispatcherServlet 会调用该 View 对象的 render 方法来渲染视图。

Spring MVC 同样提供了多种 ViewResolver 的实现,例如 InternalResourceViewResolver 用于解析JSP视图,FreeMarkerViewResolver 用于解析FreeMarker模板等。你也可以实现自定义的 ViewResolver 以满足特殊需求。

示例

假设你有一个Controller方法,它返回一个字符串 "home" 作为逻辑视图名称:

@Controller
public class MyController {

    @RequestMapping("/")
    public String home() {
        return "home";
    }
}

在Spring MVC的配置中,你可能配置了一个 InternalResourceViewResolver,它会将 "home" 解析为JSP文件路径(如 /WEB-INF/views/home.jsp):

xml
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".jsp"/>
</bean>

在这个例子中,InternalResourceViewResolver 就是 ViewResolver 的一个实现,它将逻辑视图名称 "home" 解析为一个 JstlView(或类似的 View 实现),该 View 知道如何渲染 /WEB-INF/views/home.jsp JSP文件。

标签:视图,ViewResolver,接口,interface,home,public,View
From: https://www.cnblogs.com/DuWenjie/p/18308671

相关文章

  • Xilinx NVMe AXI4主机控制器,AXI4接口高性能版本介绍
    NVMeAXI4HostControllerIP1     介绍NVMeAXI4HostControllerIP可以连接高速存储PCIeSSD,无需CPU,自动加速处理所有的NVMe协议命令,具备独立的数据写入和读取AXI4接口,不但适用高性能、顺序访问的应用,也适用于随机访问的应用,同时结合外部存储器(比如DDR),使得Host端的数......
  • Type-c接口及其协议介绍
    Type-c接口及其协议介绍Type-c接口支持的功能支持接口正反插;定义Vbus的电流传输能力;定义功率传输角色,即供电端及受电端;定义数据传输角色,主机或从机;支持PD协议,实现大功率充电;支持USB2.0/3.2/4.0/雷电/DisplayPort协议,实现高速数据传输。Type-c接口支持的协议Type-c接口是......
  • whisper-api语音识别语音翻译高性能兼容openai接口协议的开源项目
    whisper-api介绍使用openai的开源项目winsper语音识别开源模型封装成openaichatgpt兼容接口软件架构使用uvicorn、fastapi、openai-whisper等开源库实现高性能接口更多介绍[https://blog.csdn.net/weixin_40986713/article/details/138712293](https://blog.csdn.net......
  • laravel11: 给接口增加签名验证
    一,添加controller/中间件/路由1,添加中间件liuhongdi@lhdpc:/data/site/gsapi$phpartisanmake:middlewareApiSignINFOMiddleware[app/Http/Middleware/ApiSign.php]createdsuccessfully.2,添加路由:在routes/api.php文件中Route::controller(VirtualControlle......
  • 自动化接口测试用例简单描述
    1.比如创建任务,每次都需要一个name,而且不可重复,可以random随机生成name,作为前置脚本使用:"name":"${job_name}",//namenow_time=DateFormatUtils.format(newDate(),"yyyyMMdd_HHmmss_SSS");random_number=RandomUtils.nextInt(0,1000000);affix=now_time+&......
  • WebAPI公开接口请求签名验证
    前言现在的系统后端开发的时候,会公开很多API接口对于要登录认证后才能访问的接口,这样的请求验证就由身份认证模块完成但是也有些接口是对外公开的,没有身份认证的接口我们怎么保证接口的请求是合法的,有效的.这样我们一般就是对请求的合法性做签名验证.实现原理为保证接......
  • vue请求接口常用写法(axios)
    1.项目根目录下新建一个utils文件夹,并新建一个request.js文件(注意:是以axios方法请求的,所以需要先安装axios或cdn引入)安装:npmnpminstallaxios-Syarnyarnaddaxios-Scdn<scriptsrc="https://unpkg.com/axios/dist/axios.min.js"></script>&&配置代码imp......
  • iftop--实时网络接口流量监控工具
    1、介绍iftop是实时流量监控工具,可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。 2、安装yum-yinstalliftop查看版本strings/usr/sbin/iftop|grep"version" 3、常用参数-h显示帮助信息-n不进行dns解析,直接显示ip地址-N显示端......
  • Java身份证识别接口在打车场景的应用
    曾几何时,滴滴打车似乎成了打车一族的首选,评论有好有坏。近几日,美团打车在上海的首秀还不错。为了吸引更多司机加入,美团还设置了新人推荐奖。根据美团打车司机端的信息显示,3月20和3月31日期间,司机每邀请一名新司机,并且新司机完成8单,即可拿到100元奖励。根据美团的宣传,其首日接......
  • 2024年最新版微信小程序批量检测封禁接口实现代码分享
    ​       ​      <?php//要检测的appid列表$appids=array('appid1','appid2','appid3');//使用实际的appid//循环调用接口检测小程序状态foreach($appidsas$appid){    $url='https://down.ychengsnsm.com/xcx/checkxcx.php?appid='......