Thymeleaf.服务器没有看到模板目录,如果我把应用程序打包到jar,我怎么能指向它呢?<



我有一个java Spring Boot应用程序,在我的控制器中使用百里香和模型。此外,我有templates目录在我的资源,其中所有的.html页位于。我的控制器

@Controller
@RequestMapping("/frontView")
public class FrontController {
private final CameraService cameraService;
public FrontController(CameraService cameraService) {
this.cameraService = cameraService;
}
@RequestMapping(value = "/firstCameraData", method = RequestMethod.GET)
public String dataListFromFirstCamera(Model model) {
cameraService.returnAllCars(model, "firstCamera");
return "firstCamera.html";
}

我认为。pom文件中唯一对确定问题有用的部分

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>de.qaware.maven</groupId>
<artifactId>go-offline-maven-plugin</artifactId>
<version>1.2.8</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadoc>false</downloadJavadoc>
</configuration>
</plugin>
</plugins>
</build>

我没有任何配置类为我的应用程序或胸里叶-我坚持的问题-本地一切都工作得很好。我的应用程序在Tomcat上本地运行,我可以看到localhost:8080/frontView/firstCameraData页面很好,但是在.jar文件中部署我的应用程序后,我得到了404 page not found

我认为问题是-当我的应用程序在服务器上运行时,它看不到resources/templates目录。我知道它可能可以通过在.war中重新包装应用程序并将我的。html文件放在webapp目录中来解决,但我不想这样。是否有任何解决方案,将允许我让服务器看到目录是在.jar格式?

实际上这不是.jar.war包装的问题。我配置了头盔,在我的values.yaml中我有默认路径…

corePath: /core

因此,为了让我的控制器工作它应该像这样完成

@Controller
@RequestMapping("/core/frontView")
public class FrontController {
private final CameraService cameraService;
public FrontController(CameraService cameraService) {
this.cameraService = cameraService;
}
@RequestMapping(value = "/firstCameraData", method = RequestMethod.GET)
public String dataListFromFirstCamera(Model model) {
cameraService.returnAllCars(model, "firstCamera");
return "firstCamera.html";
}

之后正确的链接是http://*****/core/frontView/firstCameraData

非常感谢@chrylis -谨慎乐观的帮助

相关内容

  • 没有找到相关文章

最新更新