尝试百里香没有成功

时间:2018-08-01 11:36:38

标签: java spring-boot gradle thymeleaf

我正在尝试使用所有教程中都介绍的百里香叶,但是不知何故我的HTML无法加载。

这是我的项目结构:

structure    这些是依赖项:

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;
  }

主要方法只是常规运行。

3 个答案:

答案 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'

我希望这可以解决您的问题。

Source