SpringMVC数据页响应ModelAndView实现页面跳转

 更新时间:2022年07月10日 15:08:11   作者:执久呀  
本文主要介绍了SpringMVC数据页响应ModelAndView实现页面跳转,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

SpringMVC的数据响应

SpringMVC的数据响应方式

①页面跳转

  • 直接返回字符串(如在一个方法中,return了一个"xxx.jsp",就会转发到那个jsp页面中,这就是直接返回字符串的形式)
  • 通过ModelAndView对象返回

②回写数据

  • 直接返回字符串(相当于在javaweb里的resp.getwrite(),print)
  • 返回对象或集合  

页面跳转

1、返回字符串形式

直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。

 返回带有前缀的字符串:

转发:forward:/WEB_INF/views/index.jsp(forward可以省略不写)
重定向:redirect:/index.jsp

2、返回ModelAndView对象

方式1:直接new对象

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui2")
    public ModelAndView save2(){
        /*
        Model 模型 作用是封装数据
        View  视图 作用是展示数据
         */
        ModelAndView modelAndView=new ModelAndView();
        //设置模型数据(键值对,键为String,值为Oject)
        modelAndView.addObject("username", 1);
        //设置视图名字
        modelAndView.setViewName("KCandZH");//经过前后缀拼接就位/jsp/KCandZH.jsp
        return modelAndView;
    }
}

在jsp包下的KCandZH.jsp中

<html>
<head>
    <base href="<%=basepath %>" rel="external nofollow" />
    <meta charset="utf-8"/>
    <title>Insert title here</title>
</head>
<body>
kCandZH forever  ${username}
</body>
</html>

加上一个El表达式,这样浏览器访问localhost:8080/KongChao/ZengHui2,就会显示出kCandZH forever  1

 方式2:写在方法里让SpringMVC创建

也可以不new对象的方式,在方法中直接写model对象,SpringMVC会自动帮你创建

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
 
    @RequestMapping(value = "/ZengHui3")
    public ModelAndView save3( ModelAndView modelAndView){
        //设置模型数据(键值对,键为String,值为Oject)
        modelAndView.addObject("username", "babala");
        //设置视图名字
        modelAndView.setViewName("KCandZH");//经过前后缀拼接就位/jsp/KCandZH.jsp
        return modelAndView;
    }
}

方式3:model和view分开做

model是SpringMVC框架封装好的

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui4")
    public String save4(Model model){//是model
        //设置模型数据(键值对,键为String,值为Oject)
      model.addAttribute("username","曾慧");
 
      return "KCandZH";//是view
 
    }
}

方式4:通过HttpServletRequest

//配置类,使用注解把这个类放到容器中
@Controller
@RequestMapping(value="KongChao")
public class userController {
    @RequestMapping(value = "/ZengHui5")
    public String save5(HttpServletRequest request){//是model
        //设置模型数据(键值对,键为String,值为Oject)
        request.setAttribute("username","kckckc");
        
        return "KCandZH";
    }
}

方式3和方式4的区别,model是SpringMVC封装好的,而HttpServletRequest是原生的javaweb,是由tomcat服务器产生的,这个产生的对象中有数据,有http请求的数据(请求行,请求体....),model对象则是空的。方式4不常用

到此这篇关于SpringMVC数据页响应ModelAndView实现页面跳转的文章就介绍到这了,更多相关SpringMVC页面跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java+MySQL实现设计优惠券系统

    Java+MySQL实现设计优惠券系统

    这篇文章主要介绍了Java+MySQL实现设计优惠券系统,文章基于Java与MySQL的相关资料展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 详细介绍使用Java调用Python的四种方法

    详细介绍使用Java调用Python的四种方法

    这篇文章主要给大家介绍了关于使用Java调用Python的四种方法,每种方法根据实际项目需求有其适用场景,其中,推荐使用Runtime.getRuntime()方法,因为它更为简洁且易于实现,需要的朋友可以参考下
    2024-10-10
  • 一文彻底搞懂Java日期时间类详解

    一文彻底搞懂Java日期时间类详解

    这篇文章主要给大家介绍了关于Java日期时间类的相关资料,Calendar类的功能要比Date类强大很多,可以方便的进行日期的计算,获取日期中的信息时考虑了时区等问题,需要的朋友可以参考下
    2023-10-10
  • maven项目中<scope>provided</scope>的作用及说明

    maven项目中<scope>provided</scope>的作用及说明

    这篇文章主要介绍了maven项目中<scope>provided</scope>的作用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java解压zip文件完整代码分享

    Java解压zip文件完整代码分享

    这篇文章主要介绍了Java解压zip文件完整代码分享,向大家分享了两部分代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • Guava本地缓存的使用过程

    Guava本地缓存的使用过程

    文章介绍了使用Guava和Redis实现二级缓存的原因,以及如何通过Guava作为一级缓存,Redis作为二级缓存来减少数据库压力,提高缓存的可靠性,同时,通过一个具体示例说明了如何在微服务场景中使用Guava和Redis进行二级缓存,最后,总结了Guava的参数机制
    2025-01-01
  • Java之SpringCloud nocos注册中心讲解

    Java之SpringCloud nocos注册中心讲解

    这篇文章主要介绍了Java之SpringCloud nocos注册中心讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java验证时间格式是否正确方法类项目实战

    Java验证时间格式是否正确方法类项目实战

    在很多场景中我们需要验证时间日期的是否属于正确的格式,验证时间是否符合常规的,本文就来介绍一下几种方式,感兴趣的可以了解一下
    2022-04-04
  • @RequestParam 接收参数的值为null的处理方式

    @RequestParam 接收参数的值为null的处理方式

    这篇文章主要介绍了@RequestParam 接收参数的值为null的处理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Spring AOP切点表达式使用及说明

    Spring AOP切点表达式使用及说明

    这篇文章主要介绍了Spring AOP切点表达式使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论