SpringMVC接收返回值方法汇总

传统方式

复制代码
@RequestMapping("/param01")
public String param01(HttpServletRequest request) throws UnsupportedEncodingException {
    request.setCharacterEncoding("UTF-8");
    String id = request.getParameter("id");
    request.setAttribute("msg","账号或密码错误");
    System.out.println("id="+id);
    return "success";
}

ModelAndView返回

复制代码
@RequestMapping("/param02")
public ModelAndView param02(String name){
    System.out.println("name="+name);
    ModelAndView mv = new ModelAndView();
    mv.setViewName("success");
    mv.addObject("msg","账号或密码错误");
    return mv;
}

字符串返回

复制代码
@RequestMapping("/param12")
public String param12(String name, Model model){
    System.out.println("name="+name);
    model.addAttribute("msg","账号或密码错误");
    return "success";
}

转发与重定向

默认返回页面是转发效果

如果需要重定向,需要在返回页面的时候,追加redirect:,后边需要追加视图后缀

复制代码
@RequestMapping("/getUser")
public String getUser(Model model){
    model.addAttribute("msg","测试数据");
    return "redirect:hello.jsp";
}

Ajax返回

在方法上方添加注解@ResponseBody

如果整个类都为Ajax返回的方法则可在类的上方添加@RestController替代@Controller

Ajax返回json格式的数据需要在pom.xml中导入依赖坐标

复制代码
<!--引入json的依赖-->
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-core</artifactId>
  <version>2.9.0</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.9.0</version>
</dependency>
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-annotations</artifactId><version>2.9.0</version>
</dependency>

前端调用Ajax方法从后台获取数据即可

相关推荐
Xiacqi1几秒前
Java 中 String、StringBuffer、StringBuilder 的区别
java
Xiacqi14 分钟前
Java 常用集合框架手册
java
笨蛋不要掉眼泪12 分钟前
Java并发编程:线程的创建和运行
java·开发语言·jvm
九伯都12 分钟前
java编写 agent 入门案例
java·开发语言
环流_16 分钟前
redis:持久化rdb
java·数据库·redis
xqqxqxxq41 分钟前
Java 线程池(一)
java·开发语言
Full Stack Developme1 小时前
spring-beans 解析
java·后端·spring
码农-阿杰1 小时前
生成偏向锁 + JIT
java
czt_java1 小时前
线程安全问题
java·开发语言·jvm
likerhood1 小时前
设计模式-装饰器模式(java)
java·设计模式·装饰器模式