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

相关推荐
有梦想的攻城狮3 分钟前
spring中的@RabbitListener注解详解
java·后端·spring·rabbitlistener
李斯维5 分钟前
循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调
android·java·android studio
androidwork6 分钟前
OkHttp 3.0源码解析:从设计理念到核心实现
android·java·okhttp·kotlin
程序员岳焱8 分钟前
Java 程序员成长记(二):菜鸟入职之 MyBatis XML「陷阱」
java·后端·程序员
我命由我1234510 分钟前
Spring Boot 项目集成 Redis 问题:RedisTemplate 多余空格问题
java·开发语言·spring boot·redis·后端·java-ee·intellij-idea
面朝大海,春不暖,花不开10 分钟前
Spring Boot消息系统开发指南
java·spring boot·后端
程序员岳焱11 分钟前
Java 程序员成长记(三):菜鸟入职之@Transactional「罢工」
java·后端·编程语言
Rocky40120 分钟前
JAVAEE->多线程:锁策略
java·开发语言·jvm
白宇横流学长20 分钟前
基于J2EE架构的在线考试系统设计与实现【源码+文档】
java·架构·java-ee
猫咪老师199525 分钟前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器