java - Spring自定义路径解析静态资源

标签 java spring spring-mvc

我正在开发 Spring Boot 应用程序。一般问题如下:我创建了 REST API、一些 Controller 。不过,我还有一些静态 HTML 文件,位于“resources/static”中。

我想要实现的是配置 Spring 解析器,以便我可以访问静态内容而不附加“.html”。在实践中,我希望通过路径“ip:port/htmlPage”而不是“ip:port/htmlPage.html”访问静态 HTML

但是,我不想创建这样的方法:

@Controller
public class ViewMaster {
@RequestMapping("/home")
public String home() {
    return "home";
}

所以,像

这样的属性
spring.mvc.view.suffix=.html

不为我工作。是否有可能避免在 Controller 中创建每个页面端点?

最佳答案

读完你的问题后,我尝试了很多,但无法在没有扩展的情况下从静态文件夹提供 html。对我有用的是创建一个像这样的 @RequestMapping :

@RequestMapping(value="/static/{htmlName}")
String getStaticHtml(@PathVariable String htmlName){
    return htmlName;
}

并将 html 文件移动到 templates 文件夹中。因此不需要创建不同的端点来访问 html 页面,只需传递不带扩展名的 html 名称即可达到目的

关于java - Spring自定义路径解析静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46132550/

相关文章:

java - 指定了 1 个构造函数参数,但在 bean 中找不到匹配的构造函数,为什么 Autowiring 名称不适用于构造函数参数

spring - 处理将用户名作为 url 一部分的 url 模式

java - spring3 国际化无法正常工作

java - 如何访问另一个类中的对象(Java)

java - 如何阻止 hibernate 在 ManyToMany 映射中插入表?

java - Mockito 不断返回空列表

Spring mvc 3 - HTTPS 访问

java - 具有分页、排序和规范的 JPA

Java Swing JLabel 文本长于界限

java - Arrays.hashCode 是如何实现的?