SpringMvc控制层数据渲染到页面

servle 四大域对象保存数据

page(同一个jsp有效)

page域指的是pageContext.

request(一次请求)

request域request HttpServletContext

session(一次会话)

session域session HttpSession
application(当前web应用) application域指的是application  ServletContext;

SpringMvc有三种保存数据的方法

类对象:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private String name;
    private Integer age;
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sr;
}

 

一.request 在同一次请求下有效 (请求转发)


  @RequestMapping("index01")
    public String index02(HttpServletRequest request){
        User user2 = new User("李四",18,new Date());
        request.setAttribute("user2",user2);
        return "Hello";
    }

因为这里有控制器所以字节也“Hello”jsp页面

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

jsp页面通过el表达式来获取保存到request中的数据

model:${user2}

访问结果

SpringMvc控制层数据渲染到页面

 二,model在同一次请求下有效 (请求转发)

model和request相同有效期都是同一请求下

@Controller//声明控制层
@RequestMapping("hello01")//映射路径
public class Hello {
    @RequestMapping("index")
    public String index01(Model model){
        User user = new User("张三",18,new Date());
        model.addAttribute("user",user);
        return "Hello";
    }

同样用el表达式获取保存的数据

model:${user}

结果:

SpringMvc控制层数据渲染到页面

session 保存数据

   

 用session 存储一个list集合  集合中放入User信息

@RequestMapping("index02")
    public String index02(HttpSession httpSession){
        User user3 = new User("李四",18,new Date());
        User user4 = new User("王五",18,new Date());
        User user5 = new User("赵六",18,new Date());
        List<User> list=new ArrayList<User>();
        list.add(user3);
        list.add(user4);
        list.add(user5);
        httpSession.setAttribute("user3",list);
        return "Hello";
    }

jsp页面获取el表达式

session:${user3}

结果:

SpringMvc控制层数据渲染到页面

 返回JSON类型数据

加入依赖 作用:jackson-databind依赖中自带转换

<!--jackson依赖 可以整合springmvc把java对象转换为json对象-->
<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>2.12.4</version>
</dependency>

 加入@ResponseBody注解 将返回值自动转为json类型

 @RequestMapping("index2")
    @ResponseBody
    public List<Login> index2(){
        Login login = new Login("麻子","Rqk6037","男",new Date());
        Login login1 = new Login("老六","Rqk6037","男",new Date());
        Login login2 = new Login("文武香贵","Rqk6037","男",new Date());
        List<Login> list=new ArrayList<Login>();
        list.add(login);
        list.add(login1);
        list.add(login2);
        return list;
    }

jsp页面

加入jsp 相关的jquery依赖

<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>

 接受json数据并加入到表格中显示

<table id="usertable">
</table>
<script>
    $.ajax({
        url:"json1/index2",
        type:"post",
        success:function (result) {
            alert(result)
            var str="";
            for (var i=0;i<result.length;i++){
                str=str+"<tr><td>"+result[i].username+"</td><td>"+result[i].password+"</td><td>"+result[i].sex+"</td><td>"+result[i].sr+"</td></tr>"
            }
            $("#usertable").html(str)
        },
        dataType:"json",
    })
</script>

jsp页面

SpringMvc控制层数据渲染到页面

 

 时间的处理

如果时间类型为时间戳格式加入两个注解

时间戳:从1970年到现在经历的毫秒数

//Hh:24进制 接受前端传递时间格式参数时的转换
@DateTimeFormat(pattern = "yyyy-MM-dd")
//把java对象转换json格式时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

 

 

上一篇:jsp中Request对象的主要方法有哪些


下一篇:2021/12/12 Java开发之Java Web编程 第一章初始动态网页