Spring Boot 模板未解决

2024-05-14

我正在尝试使用 Spring Boot 和 Thymeleaf 构建一个独立的 Web 应用程序。该应用程序在 IntelliJ IDEA 中运行良好,但我无法单独运行该 jar。显然模板不包括在内。

我的项目结构如下:

├── src
│   └── main
│       ├── java
│       │   └── my
│       │       └── domain
│       │           └── application
│       │               ├── domain
│       │               ├── service
│       │               ├── web
│       │               ├── ApplicationConfig.java
│       │               ├── SecurityConfig.java
│       │               ├── ThymeleafConfig.java
│       │               └── WebConfig.java
│       ├── resources
│       │   ├── application.properties
│       │   └── log4j.properties
│       └── webapp
│           ├── resources
│           │   ├── jquery.js
│           │   └── style.css
│           └── WEB-INF
│               └── views
│                   ├── layout.html
│                   ├── login.html
│                   └── menu.html
└── pom.xml

应用程序配置:

@Bean
public DataSource dataSource() {
    ...
}

@Bean
public SessionBean sessionBean() {
    return new SessionBean();
}

public static void main(String[] args) {
    SpringApplication.run(ApplicationConfig.class, args);
}

百里香配置:

@Bean
public TemplateResolver templateResolver(){
    ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver();
    templateResolver.setPrefix("/WEB-INF/views/");
    templateResolver.setSuffix(".html");
    templateResolver.setTemplateMode("HTML5");
    return templateResolver;
}

@Bean
public SpringTemplateEngine templateEngine(){
    SpringTemplateEngine templateEngine = new SpringTemplateEngine();
    templateEngine.setTemplateResolver(templateResolver());
    templateEngine.addDialect(new LayoutDialect());
    return templateEngine;
}

@Bean
public ViewResolver viewResolver(){
    ThymeleafViewResolver viewResolver = new ThymeleafViewResolver() ;
    viewResolver.setTemplateEngine(templateEngine());
    viewResolver.setOrder(1);
    return viewResolver;
}

网络配置:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/");
}

我设法通过将 WEB-INF 文件夹添加为 pom.xml 中的资源来包含它,但视图仍然未解析。


您是否尝试过完全删除 WEB-INF 文件夹并将所有内容粘贴到资源中,就像在this https://github.com/spring-guides/gs-serving-web-content/tree/master/complete/src/main/resources/templates guide?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot 模板未解决 的相关文章

随机推荐