SpringMVC 5 中的 RequestToViewNameTranslator

本文介绍了SpringMVC中的RequestToViewNameTranslator如何实现请求与视图名称之间的约定,允许在不显式指定逻辑视图名的情况下,从请求URL中根据约定提取默认视图。DefaultRequestToViewNameTranslator是唯一的实现类,处理请求到视图名的映射,并可通过属性定制映射规则。在配置容器中设置ID为viewNameTranslator,ViewResolver就能根据URL提取视图名完成处理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RequestToViewNameTranslator

3.Web请求与视图之间的约定

        相应Controller处理完当前Web请求之后,会通过ModelAndVi的返回后继流程要使用的逻辑视图名.但通常情况下,我们都是明确指定ModelAndView所返回的逻辑视图名是什么。对于Convention Over Configuratio来说, 这显然是多此一举的. 所以, 要朝着Convention Over Configuration迈进的话,我们就不应该每次去明确指定当前请求对应的逻辑视图名是什么。 可是, 这样的话,ViewResolver如何决定返回哪个视图呢?

        坦率地讲,不能从ModelAndView中取得一个逻辑视图名的话, ViewResolver确实无能为力, 它不能凭空造一个视图出来, 或者随便挑一个返回, 而且,ViewResolver接口定义中井不涉及HttpServletRequest, 它显然也无法根据请求的URL来推测可能使用的逻辑视图名是哪个. 为了能够让ViewResolver从请求URL中根据约定提取默认的逻辑视图名,Spring MVC引入了org .springframework.web.servlet .RequestToViewNarneTranslator.当框架内部不能从ModelAndView中获取可用的逻辑视图名的时候,由RequestToViewNameTranslator根据约定从当前请求的URL中提取。显然,该接口必定与HttpServletRequest有所关联,如下所示:

public interface RequestToViewNameTranslator {
   
   
    @Nullable
    String getViewName(HttpServletRequest var1) throws Exception;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值