The*_*unk 0 java netbeans relative-path maven spark-java
我正在使用Spark 框架创建一个 Web 应用程序,并且我一直在浏览他们网站上的教程。目前,我正在处理他们的模板部分,但是我似乎无法让项目识别出我的 css 和我的模板在我的资源文件夹中。
我正在使用 Netbeans 和 Maven 来管理我的依赖项。
谁能帮我弄清楚如何在这种环境中适当地设置我的相对路径/创建我的项目文件夹?我是 Maven 和 Spark 的新手,所以请放轻松。
小智 5
如果您的资源目录如下所示:
resources
????public
????css
? style.css
????html
? hello.html
????templates
template.ftl
Run Code Online (Sandbox Code Playgroud)
你可以使用staticFiles.location("/public"). 这将使/public根 staticFiles 目录。
然后你可以这样访问hello.html:http://{host}:{port}/html/hello.html
如果你想在文件系统上使用外部位置,你可以使用staticFiles.externalLocation(...),它的工作方式与上面几乎相同。
注意:
staticFiles.externalLocation(...)可以设置为你项目的资源目录,这意味着文件会自动刷新(对开发有用)
可以在spark 文档中找到更深入的解释
如果您已经设置了 staticFiles 位置,但 spark 仍然无法找到您的模板,请尝试此操作。
注意:这些示例适用于 FreeMarker 引擎,但它们应该适用于其他引擎,只需稍作调整即可。
查看示例后,似乎默认情况下, a 在 中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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1890 次 |
| 最近记录: |