一、Model的使用
当请求发起访问Controller中的方法时,可以通过参数声明,在方法内使用Model。
@RequestMapping(“/doorList”)
public String doorList(Model model){}
Model对象实际上是一个Map集合,例如:往model中添加一个属性
model.addAttribute(String name, Object value);
其中,addAttribute方法会将属性保存到request域中,再通过转发将属性数据带到相应的JSP中,通过${}取出并显示。
二、案例
1、新建ModelController.java,代码如下:
package com.cy.controller;
import com.cy.Pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class ModelController {
/*
* 访问:http://localhost:8080//day11_SpringMVC/testModel?name=可乐&age=18&addr=北京&score=100&salary=100000&gender=男&id=10
* 调用testModel方法,获取这些参数,并将这些参数回显到home页面
* 使用规则:可以借助Model对象,将后端的数据,共享到前端页面
* 一般都会在方法中声明形参,创建model对象
* */
@RequestMapping("/testModel")
public String testModel(User user, Model model) {
model.addAttribute("u1", user);
return "home";
}
}
2、修改home.jsp,代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>HelloSpringMVC</title>
</head>
<body>
<h1>--------------Hello SpringMVC------------</h1>
<h3>${u1.name}</h3>
<h3>${u1.score}</h3>
<h3>${u1.addr}</h3>
<h3>${u1.age}</h3>
<h3>${u1.gender}</h3>
<h3>${u1.id}</h3>
<h3>${u1.salary}</h3>
</body>
</html>