SpringMVC回参

1.Model,session,request回参

model对象可以理解为request对象。凡是在该对象中保存的数据,作用范围同一个请求有效。

1.控制层

package com.controller;

import com.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.Map;

/**
 * @program: springMVC_145
 * @description:
 * @author: zlh
 * @create: 2021-12-04 09:17
 **/
@Controller
@RequestMapping("/h2")
public class HelloController02 {
    @RequestMapping("/a")
    public String helloword(Model model){
        User user=new User("aa","aa","aa","aa",new Date());
        model.addAttribute("user01",user);
        return "aaa";

    }
    @RequestMapping("/b")
    public String b(HttpSession session){
        User user=new User("aa","aa","aa","aa",new Date());
        session.setAttribute("user02",user);
        return "aaa";
    }
    @RequestMapping("/c")
    public String c(HttpServletRequest request){
        User user=new User("aa","aa","aa","aa",new Date());
        request.setAttribute("user03",user);
        return "aaa";
    }
}

2.前台aaa.jsp取

<%--
  Created by IntelliJ IDEA.
  User: zlh
  Date: 2021/12/4
  Time: 9:45
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
model:${user01}<br>
session:${user02}<br>
req:${user03}
</body>
</html>

2.Json回参

1.引入jackson依赖

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.4</version>
</dependency>

2. 控制层直接返回对应的对象类型

@ResponseBody--->把java对象转换为json对象。

package com.controller;

import com.entity.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @program: springMVC_145
 * @description:
 * @author: zlh
 * @create: 2021-12-06 14:36
 **/
@Controller
@RequestMapping("/helo03")
public class Hello03 {
    @RequestMapping("/a1")
    @ResponseBody
    public List<User> a(){
        User user=new User("aa","aa","aa","aa",new Date());
        User user1=new User("aa","aa","aa","aa",new Date());
        User user2=new User("aa","aa","aa","aa",new Date());
        List list=new ArrayList();
        list.add(user);
        list.add(user1);
        list.add(user2);
        return list;
    }
}

3.测试结果

[{"a":"aa","b":"aa","c":"aa","d":"aa","date":1638796182887},{"a":"aa","b":"aa","c":"aa","d":"aa","date":1638796182887},{"a":"aa","b":"aa","c":"aa","d":"aa","date":1638796182887}]

date数据为时间戳,想要解决的话

在实体date上加入

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")注解

把java对象转为json格式  因为默认是外国的时间,所以加上timezone = "GMT+8“

让时间加上8小时

前台可以使用ajax来取值


版权声明:本文为m0_58984702原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。