ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSM转发与重定向(考虑数据共享)

2022-02-20 17:07:40  阅读:271  来源: 互联网

标签:解析器 return 数据共享 t1 SSM books 转发 model public


SSM转发与重定向(考虑数据共享)

1.mvc可以使用servlet API来实现重定向和转发(好处可以操作request带来的数据实现数据共享)

@RequestMapping("/ServletAPI3")
public void test3(HttpServletRequest req, HttpServletResponse rep) throws IOException, ServletException {
    req.setAttribute("msg","YEAH");
    req.getRequestDispatcher("/target").forward(req,rep);
    return;
}
@RequestMapping("/target")
public String test4(Model model)  {
    return "hello";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>controller</title>
</head>
<body>
${msg}
</body>
</html>

结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sbh0QYzg-1645347122215)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220220165017612.png)]

2.在不使用API的情况下,其实就是路径问题,故要注意视图解析器是否应该存在,如果有了视图解析器就不能直接写controller请求的路径。(不可以操作request带来的数据实现数据共享)

​ 1.重定向

​ a.redirect:/t1 解析器无影响

​ b.redirect:t1.do 解析器无影响

​ 2.转发

​ a."XXXX" 解析器有影响

​ b.forward:/index.jsp 解析器有影响

   	@RequestMapping("/t1")
    public String control(Model model){
        model.addAttribute("msg","AnnotationController");
        return "hello";
    }
	@RequestMapping("/t2")
    public String selectController(Model model){
        List<Books> books = booksMapper.queryAllBook();
        model.addAttribute("msg",books);
        return "redirect:/t1";
    }

    @RequestMapping("/t3")
    public String selectController1(Model model){
        List<Books> books = booksMapper.queryAllBook();
        model.addAttribute("msg",books);
//        return "t1";  需要注释掉视图解析器
        return "forward:/t1";
    }

    @RequestMapping("/t4")
    public String selectController2(Model model){
        List<Books> books = booksMapper.queryAllBook();
        model.addAttribute("msg",books);
        return "redirect:t1.do";
    }

    @RequestMapping("/search")
    public String searchController(Model model){
        List<Books> books = booksMapper.queryAllBook();
        model.addAttribute("msg",books);
        return "redirect:/t1";
    }

写在最后:
Session实现数据共享也可以~~

标签:解析器,return,数据共享,t1,SSM,books,转发,model,public
来源: https://blog.csdn.net/qq_49507440/article/details/123032711

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有