gpt4 book ai didi

spring-boot - 提供静态 html 文件,省略 url 中的 .html 扩展名

转载 作者:行者123 更新时间:2023-12-03 13:41:00 25 4
gpt4 key购买 nike

使用从 src/main/resources/static 提供静态 html/css/js 资源的好方法,有没有办法有某种形式的 url 抽象?

准确地说,我想删除 .html以网址结尾。

最佳答案

返回没有扩展名的 html 静态文件与从任何模板引擎(jsp、theamleaf、freemarker)返回 View 名称相同,这里你不需要在 View 文件上运行任何模板处理,你只需按原样返回它.

将以下代码添加到您的 Spring 配置中:

@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("pages/");
internalResourceViewResolver.setSuffix(".html");
return internalResourceViewResolver;
}

小心 /pages文件夹应该在您的 ResourceLocation
,这意味着 ResourceLocation + "/pages/" + pageName.html在浏览器中应该给你想要的文件(如果你已经配置了静态文件的服务,你找到你的 ResourceLocation 不会有问题,检查方法 addResourceHandlers 在你的 WebMvcConfigurer 中)

现在在你的 WebMvcConfigurer 你可以添加:

@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("index");
registry.addViewController("/admin").setViewName("admin");
registry.addViewController("/contact").setViewName("contact");
registry.addViewController("/error").setViewName("index");
}

或者只是使用它,就像您在 MVC Controller 中的常用 View 解析器中使用它一样

@GetMapping("/")
public String greeting() {
return "index";
}

关于spring-boot - 提供静态 html 文件,省略 url 中的 .html 扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40403926/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com