Spark框架和相对路径



我正在使用Spark框架创建一个web应用程序,我一直在他们的网站上学习教程。目前,我正在他们的模板部分工作,但是我似乎不能让项目认识到我的css和模板在我的资源文件夹。

我使用Netbeans和Maven来管理我的依赖项。

谁能帮我弄清楚如何设置我的相对路径/创建我的项目文件夹适当在这个环境中?我对Maven和Spark都是新手,所以请慢慢来。

静态文件:

如果你的资源目录是这样的:

resources
└───public
    ├───css
    │       style.css
    ├───html
    │       hello.html
    └───templates
            template.ftl

可以用staticFiles.location("/public")。这将使/public成为根staticFiles目录。

您可以这样访问hello.html: http://{host}:{port}/html/hello.html

如果您想在文件系统上使用一个外部位置,您可以使用staticFiles.externalLocation(...),它的工作原理与上面的基本相同。

注意:staticFiles.externalLocation(...)可以设置为项目的资源目录,这意味着文件将被自动刷新(对开发有用)

更深入的解释可以在spark文档 中找到。

配置你的模板引擎:

如果你已经设置了staticFiles的位置,但是spark仍然找不到你的模板,试试这个

注意:这些例子是为FreeMarker引擎,虽然他们应该适用于其他引擎微调。

查看示例后,似乎默认情况下,new FreemarkerEngine()spark/template/freemarker中查找模板,而而不是您的staticFiles位置。

你有两个选择:

1:将所有模板移动到该目录

2:配置你自己的引擎,并在定义路由时传递它

FreeMarkerEngine freemarker = new FreeMarkerEngine();
Configuration config = new Configuration();
config.setTemplateLoader(
        new ClassTemplateLoader(YOUR_CLASS.class, "/templatedir"));
freemarker.setConfiguration(config);

相关内容

  • 没有找到相关文章

最新更新