首页后端开发其他后端知识SpringMVC的数据响应方式实现页面跳转怎样做?

SpringMVC的数据响应方式实现页面跳转怎样做?

时间2024-03-24 15:20:03发布访客分类其他后端知识浏览1314
导读:相信很多人对“SpringMVC的数据响应方式实现页面跳转怎样做?”都不太了解,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且内容详细,逻辑清晰,接下来小编就为你详细解释一下这个问题。...
相信很多人对“SpringMVC的数据响应方式实现页面跳转怎样做?”都不太了解,下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且内容详细,逻辑清晰,接下来小编就为你详细解释一下这个问题。

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的数据响应方式实现页面跳转怎样做?”的内容了,通过以上内容的阐述,相信大家对SpringMVC的数据响应方式实现页面跳转怎样做?已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SpringMVC的数据响应方式实现页面跳转怎样做?
本文地址: https://pptw.com/jishu/652145.html
SQL 注入的方式有哪些?注入原理你了解吗? 数据库恢复技术有什么?如何实现恢复?

游客 回复需填写必要信息