我正在尝试使用所有教程中都介绍的百里香叶,但是不知何故我的HTML无法加载。
这是我的项目结构:
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile("org.springframework.boot:spring-boot-starter-web:2.0.4.RELEASE")
compile group: 'org.thymeleaf', name: 'thymeleaf', version: '2.0.5'
}
它什么也没做,只是打印出“ Hello”消息,但是,不使用资源文件夹中的HTML。我想念什么?
HelloController.java只有一种方法:
@RequestMapping("/hello")
public String hello(Model model, @RequestParam(value="name",
required=false, defaultValue="World") String name) {
model.addAttribute("name", name);
return "hello " + name;
}
主要方法只是常规运行。
答案 0 :(得分:1)
model.addAttribute使得获取html文件中的数据成为可能。 方法中的return应该返回所需模板的名称。例如您的hello.html
在您的hello.html中放置以下内容:
<p th:text="${name}"></p>
然后它应该工作。
您的控制器看起来像这样,因此返回包含您来自hello.html的模板名称hello:
@RequestMapping(value="/hello", method= RequestMethod.GET)
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) {
model.addAttribute("name", name);
return "hello";
}
答案 1 :(得分:0)
您可能为控制器使用了不正确的注释。
使用
@Controller
以下是示例:
@Controller
public class MyController {
@RequestMapping(value="/hello", method= RequestMethod.GET)
public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) {
model.addAttribute("name", name);
return "hello";
}
}
答案 2 :(得分:0)
您必须更改依赖项,而不是org.thymeleaf
,您需要以下依赖项:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf', version: '1.5.1.RELEASE'
我希望这可以解决您的问题。