Java 如何从静态html页面调用模板html页面

Java 如何从静态html页面调用模板html页面,java,spring,spring-boot,thymeleaf,Java,Spring,Spring Boot,Thymeleaf,我正在开发一个Spring引导应用程序,使用Thymeleaf作为视图技术。我在src/main/resources/templates文件夹中有一个html页面dashboard.html,它是从控制器内部调用的 我在static文件夹中还有一些静态html文件。我想从静态html文件调用dashboard.html,就像使用锚定标记一样。如何做到这一点 当我的应用程序在本地运行时,我无法直接链接到此文件。例如:localhost:8080/templates/dashboard.html将

我正在开发一个Spring引导应用程序,使用Thymeleaf作为视图技术。我在src/main/resources/templates文件夹中有一个html页面dashboard.html,它是从控制器内部调用的

我在
static
文件夹中还有一些静态html文件。我想从静态html文件调用
dashboard.html
,就像使用锚定标记
一样。如何做到这一点


当我的应用程序在本地运行时,我无法直接链接到此文件。例如:
localhost:8080/templates/dashboard.html
将不起作用。

您应该为
thymeleaf
html模板创建一个控制器。例如:

@Controller
@RequestMapping("/templates")
public class DashboardController {

    @GetMapping("/dashboard")
    public ModelAndView dashboard() {
        DashboardModel dashboardModel = new DashboardModel();
        return new ModelAndView("dashboard", "dashboard", dashboardModel);
    }

}
然后您可以链接到
http://localhost:8080/templates/dashboard
并获取dashboard.html页面


当然,您可以更改
@RequestMapping(“/templates”)
@GetMapping(“/dashboard”)
来控制您喜欢的url。

您应该为
thymeleaf
html模板创建一个控制器。例如:

@Controller
@RequestMapping("/templates")
public class DashboardController {

    @GetMapping("/dashboard")
    public ModelAndView dashboard() {
        DashboardModel dashboardModel = new DashboardModel();
        return new ModelAndView("dashboard", "dashboard", dashboardModel);
    }

}
然后您可以链接到
http://localhost:8080/templates/dashboard
并获取dashboard.html页面


当然,您可以更改
@RequestMapping(“/templates”)
@GetMapping(“/dashboard”)
来控制url。

这不是您的问题,但很重要:如果用户为
null
,您不仅应该显示正确的错误页面,还应该确保使用正确的HTTP代码。对于当前代码,您仍将返回200 OK。最简单的方法是抛出一个用
@ResponseStatus
注释的异常。src/main/resources不是存储html的好位置pages@Gurkanİlleez
src/main/resources/templates
是将Spring Boot与Thymeleaf启动器一起使用时的默认位置。我同意在
静态
子目录中有一些html页面是很奇怪的。这主要用于CSS、JS和/或图像文件。没错,sorySpring boot创建了jar文件,我忘了。因此,webapp并不存在您的问题,但很重要:如果用户为
null
,您不仅应该显示正确的错误页面,还应该确保使用正确的HTTP代码。对于当前代码,您仍将返回200 OK。最简单的方法是抛出一个用
@ResponseStatus
注释的异常。src/main/resources不是存储html的好位置pages@Gurkanİlleez
src/main/resources/templates
是将Spring Boot与Thymeleaf启动器一起使用时的默认位置。我同意在
静态
子目录中有一些html页面是很奇怪的。这主要用于CSS、JS和/或图像文件。没错,sorySpring boot创建了jar文件,我忘了。因此webapp不存在请注意,您不需要在控制器的
@RequestMapping
中使用
/templates
,这可以是您喜欢的任何东西,它仍然可以工作。@WimDeblauwe,当然:)我使用
/templates/dashboard
,因为他提到的url模式就是一个例子。请注意,在控制器的
@RequestMapping
中,您不需要使用
/templates
,这可以是您喜欢的任何东西,它仍然可以工作。@WimDeblauwe,当然:)我使用了
/templates/dashboard
,因为他提到的url模式就是一个例子。用你的话编辑了我的答案。