如何将 Spring MVC 控制器映射到特定文件夹?

Posted

技术标签:

【中文标题】如何将 Spring MVC 控制器映射到特定文件夹?【英文标题】:How to map Spring MVC controllers to a specific folder? 【发布时间】:2017-02-25 02:20:12 【问题描述】:

我正在开发一个使用 Spring MVC、Spring Boot、Gradle 和 Thymeleaf 的项目。我想知道是否有办法避免控制器将冗长的字符串路径返回到子文件夹中的特定视图?

我的观点目前在resources/templates/views/home/

public String index( Model model ) 
    return "views/home/index";

我希望只需要为 HomeController 返回类似 home/indexhome/someotherpage 的内容。 谢谢!

【问题讨论】:

【参考方案1】:

是的,可以通过在您的配置中定义templateResolver bean:

@Configuration
public class TemplateConfig 
    @Bean
    public SpringResourceTemplateResolver templateResolver() 
        final SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setCacheable(false);
        templateResolver.setPrefix("classpath:/templates/views/");
        templateResolver.setSuffix(".html");
        return templateResolver;
    

现在您可以在控制器中使用返回 index 页面:

public String index( Model model ) 
    return "home/index";

【讨论】:

以上是关于如何将 Spring MVC 控制器映射到特定文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

Spring 4:如何将 RequestMapping URL 映射到特定控制器

Ajax 将“映射”对象传递给 Spring MVC 控制器

从spring mvc控制器返回一个简单的映射结构到ajax

将图像文件夹映射到 Spring MVC 和 Wildfly

如何在 Spring MVC 中将请求映射到 HTML 文件?

是否可以将一个路由映射到MVC中的一组特定控制器操作?