springmvc学习笔记(三):视图解析器 封装视图路径的逻辑名


ModelAndView 对象中既可以封装真实视图路径名,也可以封装视图路径的逻辑名:

1、ModelAndView 封装真实视图路径名:

Action 类中的代码:

    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest,
                                      HttpServletResponse httpServletResponse) throws Exception {

        System.out.println("HelloAction::handleRequest()");

        // ModelAndView 用于向视图封装数据和路径
        ModelAndView modelAndView = new ModelAndView();

        // 封装数据
        modelAndView.addObject("message", "hello springmvc");
        // 封装路径(真实视图路径名)
        modelAndView.setViewName("/index.jsp");

        return modelAndView;
    }

springmvc.xml 中对视图解析器的配置:

    <!-- 配置视图解析器
        InternalResourceViewResolver:表示通过 ModelAndView 对象中封装的视图名找到真正的页面(默认配置,不写也行);
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>

 最终跳转到的视图为 webroot 下的 index.jsp 文件:

 

2、ModelAndView 封装视图路径的逻辑名:

Action 类中的代码:

    @Override
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest,
                                      HttpServletResponse httpServletResponse) throws Exception {

        System.out.println("HelloAction::handleRequest()");

        // ModelAndView 用于向视图封装数据和路径
        ModelAndView modelAndView = new ModelAndView();

        // 封装数据
        modelAndView.addObject("message", "hello springmvc");
        // 封装路径(视图路径的 逻辑名)
        modelAndView.setViewName("success");

        return modelAndView;
    }

springmvc.xml 中对视图解析器的配置:

    <!-- 配置视图解析器
        InternalResourceViewResolver:表示通过 ModelAndView 对象中封装的视图名找到真正的页面;
        如果 action 中封装的是 视图路径的逻辑名称,那么视图解析器就必须要配置;
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 配置视图路径的前缀 -->
        <property name="prefix" value="/jsp/"/> 
        <!-- 配置视图路径的后缀 -->
        <property name="suffix" value=".jsp"/>  
        <!-- 前缀 + 视图逻辑名 + 后缀 = 真实路径 -->
    </bean>

最终跳转到的视图为 webroot 下的 jsp/success.jsp 文件:

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值