Spring MVC - 通过Thymeleaf访问静态页面

时间:2017-03-04 17:23:02

标签: java spring spring-mvc spring-boot thymeleaf

我有一个Spring Boot Web应用程序,使用嵌入式Tomcat + Thymeleaf模板引擎,并将包作为可执行的JAR文件。

使用的技术:

Spring Boot 1.4.2.RELEASE, 春季4.3.4.RELEASE, Thymeleaf 2.1.5.RELEASE, Tomcat嵌入8.5.6, Maven 3, Java 8

我想访问位于../src/main/resources/templates/mockups/index.html

的静态文件

所以我创建了这个控制器:

@Controller
public class MockupIndexController {

    @RequestMapping("/mockup/index")
    public String welcome(Map<String, Object> model) {
        return "/mockups/index.html";
    }

}

但是我收到了这个错误:

org.thymeleaf.exceptions.TemplateInputException: Error resolving template "/mockups/index.html", template might not exist or might not be accessible by any of the configured Template Resolvers

1 个答案:

答案 0 :(得分:0)

在spring xml配置文件中,映射静态文件位置,请将静态文件保存在不同的文件夹中

 <mvc:resources mapping = "/mockups/**" location = "/src/main/resources/templates/mockups/" />

更改此行

 return "/mockups/index.html";

 return "redirect:/mockups/index.html";

如果您没有使用配置文件,请添加此类

@Component
class WebConfigurer extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
                registry.addResourceHandler("/mockups/**").addResourceLocations("/src/main/resources/templates/mockups/");
   }
}