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

相关推荐
XiYang-DING几秒前
【Java】从源码深入理解HashMap和TreeMap
java·开发语言
若水不如远方11 分钟前
一文讲透单点登录原理(SSO):从同域共享到跨域票据
java·后端
不懂的浪漫11 分钟前
mqtt-plus 架构解析(七):动态订阅与重连恢复,为什么能走同一条协调路径
java·物联网·mqtt·架构
无巧不成书021815 分钟前
Unicode编码机制全解析:从核心原理到Java 实战
java·开发语言·java字符编码·unicode 15.1码点
mu_guang_19 分钟前
计算机体系结构3-cache一致性和内存一致性的区别
java·开发语言·计算机体系结构
海兰22 分钟前
使用 Spring AI 打造企业级 RAG 知识库第一部分:核心基础
java·人工智能·spring
恼书:-(空寄24 分钟前
责任链模式实现流程动态编排
java·责任链模式
星原望野24 分钟前
java:volatile关键字的作用
java·开发语言·volatile
XiYang-DING32 分钟前
【Java】Map和Set
java·开发语言
菜菜小狗的学习笔记35 分钟前
八股(二)Java集合
java·开发语言