我正在尝试使用 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(使用前将#替换为@)