首页 > 其他分享 >SpringMVC-响应数据和结果视图

SpringMVC-响应数据和结果视图

时间:2023-04-23 13:38:02浏览次数:37  
标签:RequestMapping SpringMVC 视图 响应 user 转发 test public User


一、返回值分类

1、字符串

@Controller
@RequestMapping("test")
public class test{
    
    @RequestMapping("testString")
    public String testString(Model model){
          User user = new User();
          user.setUserName("李四");
          user.setAge("29");
          user.setDate("2019/12/12");
          model.addAttribute("user",user);
        return "success";
        
    }

}

<form action="test/updata" method="post">
    姓名:<input type="text" name="${user.UserName}"/><br>
    年龄:<input type="text" name="${user.age}"/><br>
    日期:<input type="text" name="${user.date}"/><br>
    <input type="submit" value="提交"/>
</form>

2、void

 

3、ModelAndView

@Controller
@RequestMapping("test")
public class test{

    @RequestMapping("testModelAndView")
    public ModelAndView testModelAndView(){
        ModelAndView mv = new ModelAndView();
        List<Users> users = new ArrayList<>;
        User user1 = new User();
        user1.setUserName("李四");
        user1.setAge("23");
        User user2 = new User();
        user2.setUserName("王五");
        user2.setAge("33");
        users.add(user1);
        users.add(user2);
        mv.addObject("users",users);
        mv.setView("success");
        return mv;
    }
    
}

<c:forEach items="${users}" value="user">
    ${user.UserName}
</c:forEach>

二、转发和重定向

转发后浏览器请求还是原来的,转发是在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为

1、forward

重定向后浏览器的地址变成了两个,对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的 访问请求.使用请求转发,既可以转发到jsp,也可以转发到其他的控制器方

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testForward")
    public String testForward(){
        System.out.println("重定向方法执行了");
        return "forward:";
    }
}

2、Redirect

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testRedirect")
    public String testRedirect(){
        System.out.println("重定向方法执行了");
        return "redirect:";
    }
}

三、ResponseBody响应json数据

<input type="button" value="提交json数据" onclick="testJson()"/>

function testJson(){
    var url="/test/testJson";
    

   $.ajax({
        url:url,
        method:"get",
        dataType:"json",
        data:{
            "id":"12","userName":"hehe"
        },
        success:function(data){
            alert(data);
            alert(data.id);
            alert(data.userName);
        }
       
    })

}

@Controller
@RequestMapping("/test")
public class test{
    @RequestMapping("/testJson")
    public @ResponseBody User testJson(@RequestBody User user){
           user.setId("32");
           user.setuserName("lisi");
            return user;
    }

}

 

标签:RequestMapping,SpringMVC,视图,响应,user,转发,test,public,User
From: https://blog.51cto.com/u_16084838/6217450

相关文章

  • springMVC文件上传
    <%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><......
  • spring mvc一个Controller响应多个请求
    1.1. 控制器的实现packagecom.morris.controller;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importorg.springframework.web.servlet.ModelAndView;importorg.springframework.web.servlet.mvc.multiaction.Multi......
  • SpringMVC启动流程源码分析
    SpringMVC向WEB容器中注入了两个对象:ContextLoaderListener:由AbstractContextLoaderInitializer注入。DispatcherServlet:由AbstractDispatcherServletInitializer注入。下面分别分析这两个对象在WEB容器启动时做了什么工作?ContextLoaderListenerContextLoaderListener实现了Servle......
  • SpringMVC 后台从前端获取单个参数
    1.编写web.xml(模板)2.springmvc配置文件3.编写对应数据库字段的pojo实体类@Data@AllArgsConstructor@NoArgsConstructorpublicclassUser{privateintid;privateStringname;privateintage;}ViewCode4.编写Controller类首先是从前端获取单......
  • Go中响应式编程库RxGo详细介绍
    最近的项目用到了RxGo,因为之前从没有接触过,特意去学了学,特此记录下。文章很多内容是复制了参考资料或者官方文档。如果涉及侵权,请联系删除,谢谢。1、RxGo简介1.1基础介绍RxGo是一个基于Go语言的响应式编程库,它提供了一种简单而强大的方式来处理异步事件流和数据流。RxGo的......
  • 仿chatGPT或chatPDF的前端界面布局,css实现对话聊天布局代码,响应式左右分栏布局(附完整
    chatPDF或者chatGPT的界面挺简洁的,就是一个左侧的列表以及右侧的对话列表,现在使用css实现这样的布局充分运用了flex布局方式实现,左右分栏,以及对话形式展示效果下面是效果图: 在手机设备看就隐藏左侧,右侧100%适应 下面就是html和css的布局代码<style>.chatpdf{......
  • SpringMVC 常用注解
    1、@Controller   @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVCController 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才......
  • SpringMVC 简单的开始
    SpringMVC简单的开始利用Spring模板配置写一个web项目。1.核心配置文件(模板代码)<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • Qt编写网络摄像头推流(4路1080P主码流只占用0.2%CPU/极低延时极速响应)
    一、前言说明将从网络摄像头拉流过来的视频流重新推流出去,是目前一个很常规的做法,尤其是推流到流媒体服务中心,这样流媒体服务中心就把散落在各个区域的监控摄像头集中起来统一管理,同时提供对外一致的访问接口。很多时候不仅仅是几个摄像头,很可能是几百个上千个,所以对推流程序也是......
  • Response对象-响应字符数据
    Response响应数据1.response将字符数据返回到浏览器需要两步:1.通过response对象获取字符输出流PrintWriterwriter=resp.getWriter();2.通过字符输出流写数据:writer.writer(“aaa”);案例浏览器中打印出字符/***响应字符数据:设置字符数据的响应体*/@WebServle......