17.<mvc:view-controller />标签的作用
17.<mvc:view-controller />标签的作用
作用:如果发送的请求不想通过controller,只想直接地跳转到目标页面,这时候就可以使用mvc:view-controller标签
1.springmvc配置文件
<!-- path="/hello" 就是你访问的路径(相当于RequestMapping(“/hello”) view-name="hello"是你所要的视图名(如hello.jsp,相当于return “hello”) 配置了这个后对于/hello请求,就会直接交给dispatcherServlet,然后使用ViewResolver进行解析。 --> <mvc:view-controller path="/hello" view-name="hello"></mvc:view-controller>
以上配置相当于以下代码
@RequestMapping(value="/hello") public String hello(){ return "hello"; }
也可以配置成重定向或者转发:
<mvc:view-controller path="/index" view-name="redirect:hello"></mvc:view-controller>
相当于
@RequestMapping("/index") public String index(){ return "redirect:hello"; }
注意:
使用了这个标签后必须配置 <mvc:annotation-driven /> 否则会造成所有的@Controller注解无法解析,导致404错误。如果请求存在处理器,则这个标签对应的请求处理将不起作用。因为请求是先去找处理器处理,如果找不到才会去找这个标签配置。
@Controller public class UserController { @Autowired UserService userService; /* 在使用@ResponseBody此注解之后不会再走试图处理器,而是直接将数据写入到输入流中 不使用@ResponseBody注解返回类型是String,返回的是视图名称, 根据返回的视图名称去视图处理器找具体的视图 */ @ResponseBody @RequestMapping("/hello") public String helloController(){ System.out.println("进来了"); return "Test Success"; } }
本文来自博客园,作者:Lz_蚂蚱,转载请注明原文链接:https://www.cnblogs.com/leizia/p/15173536.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步