一、应用场景

在使用SpringMVC(Controller)和thymeleaf(html页面)进行交互时,可以使用model.addAttribute这个方法向前端传递键值对。

model.addAttribute("key", value);

键值对中的键,可以随便取名,值也能传很多种类型。传基本类型大家应该都会,本文就以一个例子抛砖引玉, 传一个对象到html,并用thymeleaf的方法进行接收。

二、Controller层编写

@RequestMapping("/login")
    public String login(Model model){
        //传一个对象进去  用户名是大吉, 密码是123456
        User user = new User("大吉", "123456");
            model.addAttribute("recentuser", user);
            return "前端页面";

代码非常简单, User是我们自己定义的一个对象,只有两个属性,username和password,以及对应的get,set,constructor方法

public class User {
    public String username;
    public String password;
    public User(String username, String password) {
        this.username = username;
        this.password = password;
    public String getUsername() {
        return username;
    public void setUsername(String username) {
        this.username = username;
    public String getPassword() {
        return password;
    public void setPassword(String password) {
        this.password = password;

三、前端页面接收

<span th:text="${recentuser.username}"></span>
<span th:text="${recentuser.password}"></span>

其实非常简单,要填写的内容就是model.attribute里的键。注意有个地方比较坑,这里的recentuser.username如果写成recentuser.getUsername()就会出错,应该直接写对象的成员变量。

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy年MM月dd日 HH:mm:ss"); Date curDate = newDate(System.currentTimeMillis());//获取当前时间 String str = formatter.format(curDate); //js中获取系统当前时间 var myDate = new Date(... 第一种情况:这个是我自己的例子 @RequestMapping("userInfo") public String getUsers(@RequestParam(value="pn",defaultValue="1")Integer pn,Model model){ //从第一条开始 每页查询五条数据 PageHelper.startPag... @RequestMapping(value = &quot;/update&quot;) public String update(Model model, Integer id) { Mer... 动静结合:Thymeleaf 既可以直接使用浏览器打开,查看页面的静态效果,也可以通过 Web 应用程序进行访问,查看动态页面效果。 开箱即用:Thymeleaf 提供了 Spring 标准方言以及一个与 SpringMVC 完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。 多方言支持:它提供了 Thymeleaf 标准和 Spring 标准两种方言,可以直接套用模板实现 JSTL、 OGNL 表达式;必要时,开发人员也可以扩展和创建自定义的方言。 与 SpringBoot 完美 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframeWork. js接收后台model传来的list 1、将model传递的list变为json格式 model.addAttribute("list", JSON.toJSONString(list)); 2、通过html接受该json <span th:text="${list}" style="display: none" id="list"></span> 3、通过js获取html的json,并对其操作 var json = eval('(' + $("#list").text() + 代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图)- 视图代表模型包含的数据的可视化。Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。 Spring MVC RedirectAttributes作用在不同页面间跳转时可以使用RedirectAttributes.addFlashAttribute通过键值对的方式保存起始页面中一些有用的数据,当跳转到目的页面时可以在数据模型中通过key获取。Controller.java@RequestMapping(path = "/knowledge", params = "add") publi public String test1(Model model){ //存入数据 model.addAttribute("msg","Hello,Thymeleaf"); //classpath:/templates/test.html return "test"; 要使用thymeleaf,需要在html文件中导入命名空间的约束,方便提示。 xmlns:th= import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springf... 1.Model addAttribute (String attributeName, Object attributeValue),向模型添加一个变量,attributeName指明了变量的名称,可以再随后的视图里引用,attributeValue代表了变量。 2.Model addAttribute(Object attributeValue),向模型添加一个变量,变量的名字就是其类名字首字...