一、应用场景
在使用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()就会出错,应该直接写对象的成员变量。