Hey, Nice to meet You. 

必有过人之节.人情有所不能忍者,匹夫见辱,拔剑而起,挺身而斗,此不足为勇也,天下有大勇者,猝然临之而不惊,无故加之而不怒.此其所挟持者甚大,而其志甚远也.          ☆☆☆所谓豪杰之士,

SpringMVC入门学习(九)----mvc:view-controller标签的使用

mvc:view-controller标签的使用

mvc:view-controller标签的作用可以让我们在Controller类中少写一点代码,我们只需在XML中配置一下请求即可即可,其实我感觉没什么卵用,还不如直接在Controller中写呢!😂😂


那么它是怎么来使用的呢?假设有下面这样一个handler方法:

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

这个方法内部没有做任何处理,仅仅是把一个URL地址"/hello"映射到视图"success"。此时我们就可以使用mvc:view-controller标签来简化一下。

<mvc:view-controller path="/hello" view-name="success"/>
<mvc:annotation-driven/>

标签内部的两个属性介绍如下:

  • path=”/hello” 就是你访问的路径(相当于RequestMapping(“/hello”))
  • view-name=”success”就是你要跳转的视图页面(如success.jsp,相当于return “success”) 配置了这个后对于/success请求就会直接交给dispatcherServlet处理,然后使用ViewResolver进行解析。

上面配置的是请求转发,还可以配置重定向请求:

@RequestMapping("/index")
public String index(){
    return "redirect:success.jsp";//注意这里访问不是WEB-INF下面的JSP
}

用mvc:view-controller来代替:

<mvc:view-controller path="/hello" view-name="redirect:success.jsp"/>
<mvc:annotation-driven/>

最后注意事项:

  • 使用了这个标签后必须配置 <mvc:annotation-driven />,否则会造成所有的@Controller注解无法解析,导致404错误。
  • 如果请求存在处理器,则这个标签对应的请求处理将不起作用。因为请求是先去找处理器处理,如果找不到才会去找这个标签配置。
posted @ 2021-05-14 09:54  唐浩荣  阅读(918)  评论(0编辑  收藏  举报