【问题标题】:Thymeleaf templates and static resources in the same directoryThymeleaf 模板和静态资源在同一目录下
【发布时间】:2014-12-10 02:36:08
【问题描述】:

是否可以将 Thymeleaf/Spring 应用程序配置为从同一目录提供模板和静态资源(通过配置或自定义视图解析器)?

我将 Thymeleaf 用于模板的本地化,其余页面逻辑由 Angular JS 处理。我让它使用模板和静态内容分开,但这将是一个大项目,我想使用推荐的结构,其中与一个页面相关的所有文件都位于同一个“包”中。

我正在寻找如下结构:

└── src
    └── main
        └── java
            └── HelloController.java
            └── LoginController.java
        └──resources
            └──templates
               └──hello
                  └──hello.html (dynamic thymeleaf template)
                  └──hello.js (static resource)
                  └──hello.css (static resource)
               └──login
                  └──login.html
                  └──login.js
                  └──login.css
        └──webapp
            └──WEB-INF
               └──web.xml

感谢您的任何建议。

【问题讨论】:

    标签: spring spring-mvc thymeleaf


    【解决方案1】:

    这是可行的,但是您面临的风险是您还会将 html 模板本身公开为静态资源,这不是一个好主意。我是否可以建议按照这些思路为静态资源设置并行层次结构:

    src 
       main
           resources
                static
                     js
                        hello
                            hello.js
                        login 
                            login.js
                     css
                       hello
                            hello.css
                       login
                            login.css
                templates
                       hello
                            hello.html
                       login
                           login.html
    

    【讨论】:

    • 这就是我现在所拥有的(只是每个页面的 css 和 js 文件都放在一起)。如果您有 50 多个页面,那么如果没有 IDE 的快速打开功能,您将无法在结构中轻松导航。最好将所有与页面相关的文件放在一个目录中。我在想一些类似于模板解析器的东西,它将选择 *.html 文件作为模板,其余文件作为静态资源,但我想知道是否有更简单的方法或如何编写这样的解析器。
    猜你喜欢
    • 1970-01-01
    • 2015-01-05
    • 2015-11-13
    • 2017-06-06
    • 2015-07-07
    • 2016-06-03
    • 2023-02-09
    • 2013-08-25
    • 2018-09-11
    相关资源
    最近更新 更多