SpringMVC的数据响应

SpringMVC的数据响应方式

代码参考上一篇博客:https://blog.csdn.net/GLOAL_COOK/article/details/112759926
页面跳转:

第一种方式:直接返回字符串:

第二种方式:通过ModelAndView对象返回

test1.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ page isELIgnored ="false" %><html><html><head>    <title>成功页面</title></head><body><h1>test1.jsp成功,欢迎${username}! </h1></body></html>

spring-mvc.xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:context="http://www.springframework.org/schema/context"       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd                            http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd"><!--context:include-filter代表只扫cn.itcast的org.springframework.stereotype.Controller的注解--><context:component-scan base-package="cn.itcast">    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"></context:include-filter></context:component-scan><!--配置内部资源视图解析器,viewResolver是随便起的id--><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">    <!--简化/view/test1.jsp-->    <property name="prefix" value="/view/"></property>  <!--改前缀,view是你项目webapp下的一个目录,可以改为其他的目录-->    <property name="suffix" value=".jsp"></property>    <!--改后缀--></bean></beans>

QuickController :

package cn.itcast.controller;        import org.springframework.stereotype.Controller;        import org.springframework.ui.Model;        import org.springframework.web.bind.annotation.RequestMapping;        import org.springframework.web.bind.annotation.RequestMethod;        import org.springframework.web.servlet.ModelAndView;        import javax.servlet.http.HttpServletRequest;/** * @author QLBF * @version 1.0 * @date 2021/1/17 21:10 */@Controller@RequestMapping("/user")  //一级访问目录public class QuickController {    //加了类RequestMapping一级,在方法加二级的话就要localhost:8080/user/quick1访问了,而且下面跳转的suceess.jsp前面要加/    //value只有一个才能省,多个method之后就不能省了,params代表是你请求时一定要携带{}里面的字符串来请求    @RequestMapping(value = "/quick1",method = RequestMethod.GET/*,params = {"username"}*/)    public String save(){        System.out.println("Controller save running...");        return "test1";  //会转发访问test1.jsp    }    @RequestMapping(value = "/quick2")  //value只有一个可省    public ModelAndView save2(){        /*            Model:模型 作用封装数据,就是类似setattribute,然后你就可以在jsp通过el表达式获取值            View:视图 作用展示数据,就是设置跳转或重定向到哪个jsp         */        ModelAndView modelAndView=new ModelAndView();        //设置模型数据        modelAndView.addObject("username","zhangsan");        //设置视图名称        modelAndView.setViewName("test1"); //省略就是默认是转发,还是通过前后缀访问view里面的test1.jsp        return modelAndView;    }    @RequestMapping(value = "/quick3")    public ModelAndView save3(ModelAndView modelAndView){        /*            Model:模型 作用封装数据,就是类似setattribute,然后你就可以在jsp通过el表达式获取值            View:视图 作用展示数据,就是设置跳转或重定向到哪个jsp         */        //设置模型数据        modelAndView.addObject("username","lisi3");        //设置视图名称        modelAndView.setViewName("test1"); //省略就是默认是转发,还是通过前后缀访问view里面的test1.jsp        return modelAndView;    }    @RequestMapping(value = "/quick4")    public String save4(Model model){        /*            Model:模型 作用封装数据,就是类似setattribute,然后你就可以在jsp通过el表达式获取值            View:视图 作用展示数据,就是设置跳转或重定向到哪个jsp         */        //设置模型数据,可以分开模型和视图的        model.addAttribute("username","lisi4");        //设置视图        return "test1";    }    @RequestMapping(value = "/quick5")  //少用,都用框架了还用老东西干嘛    public String save5(HttpServletRequest request){        request.setAttribute("username","旧东西5");        return "test1";    }}

save2~4用的多点,下面只演示save2():
访问http://localhost:8080/user/quick2(就改最后的quick数字就测试对应的方法了):

来源:https://www.icode9.com/content-4-825901.html

(0)

相关推荐