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方法从后台获取数据即可

相关推荐
星如雨グッ!(๑•̀ㅂ•́)و✧19 分钟前
Java NIO全面详解
java·python·nio
taopi20242 小时前
android java系统弹窗的基础模板
android·java·开发语言
松仔log2 小时前
Java多线程——对象的组合
java·开发语言·jvm
酷爱码2 小时前
springboot 动态配置定时任务
java·spring boot·后端
从未止步..3 小时前
Jenkins未在第一次登录后设置用户名,第二次登录不进去怎么办?
java·运维·jenkins
老马啸西风3 小时前
IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统
java
2501_903238653 小时前
Java 9模块开发:Eclipse实战指南
java·开发语言·eclipse·个人开发
test猿3 小时前
hive为什么建表,表存储什么
java
程序猿零零漆4 小时前
SpringCloud系列教程:微服务的未来(二十)Seata快速入门、部署TC服务、微服务集成Seata
java·spring·spring cloud·微服务
我的K84095 小时前
Spring Boot基本项目结构
java·spring boot·后端