通过提供来自的静态html / css / js资源src/main/resources/static的好方法,是否可以使用某种形式的url抽象?
确切地说,我想.html从网址中删除结尾。
返回不带扩展名的 html 静态文件与从任何模板引擎(jsp、theamleaf、freemarker)返回视图名称相同,这里您不需要对视图文件运行任何模板处理,只需按原样返回它。
将以下代码添加到您的 Spring 配置中:
@Bean
public InternalResourceViewResolver internalResourceViewResolver() {
InternalResourceViewResolver internalResourceViewResolver = new InternalResourceViewResolver();
internalResourceViewResolver.setPrefix("pages/");
internalResourceViewResolver.setSuffix(".html");
return internalResourceViewResolver;
}
Run Code Online (Sandbox Code Playgroud)
请注意,/pages文件夹应该位于您的 内部ResourceLocation
,这意味着ResourceLocation + "/pages/" + pageName.html在浏览器中应该为您提供所需的文件(如果您已经配置了静态文件服务,那么找到您的 ResourceLocation 不会有问题,请检查addResourceHandlersWebMvcConfigurer 中的方法)
现在在您的 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");
}
Run Code Online (Sandbox Code Playgroud)
或者只是使用它,就像在 MVC 控制器中的常用视图解析器中使用它一样
@GetMapping("/")
public String greeting() {
return "index";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |