我遵循了spring boot thymeleaf教程here。
HelloController.java
@RestController
public class HelloController {
@GetMapping({"/", "/hello"})
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) {
model.addAttribute("name", name);
return "hello";
}
}
hello.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title th:text="'Hello, ' + ${name} + '!'"></title>
<link href="/css/main.css" rel="stylesheet">
</head>
<body>
<h2 class="hello-title" th:text="'Hello, ' + ${name} + '!'"></h2>
<script src="/js/main.js"></script>
</body>
</html>
application.properties
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
spring.thymeleaf.enabled=true
spring.thymeleaf.suffix=.html
spring.thymeleaf.cache=false
css和js文件与上面的链接相同。
但是,当我进入 localhost:8080 / hello?name = test 时,我只会看到返回的“ hello”。另外,在 hello.html 中,Intellij高亮显示${name}
并说无法解析名称;尽管搜寻互联网使我相信这是IntelliJ问题。
注意,当我调试时,实际上在Controller
中设置了 name 。
我在模型属性和百里香叶名称中缺少联系吗?
谢谢