【问题标题】:How do I map a path to a static HTML file?如何将路径映射到静态 HTML 文件?
【发布时间】:2015-12-17 13:20:23
【问题描述】:

这是我们将路径映射到String 的最简单示例,因此我们负责构建整个 HTML:

get("/hello", (req, res) -> "Hello World");

我们也可以使用模板引擎来为我们构建 HTML 给定ModelAndView:

Map map = new HashMap();
map.put("name", "Sam");

// hello.html file is in resources/templates directory
get("/hello", (rq, rs) -> new ModelAndView(map, "hello"), new ThymeleafTemplateEngine());

现在,如果我想将一个路径映射到一个静态 HTML 文件,我没有任何变量可以被模板引擎解释,该怎么办?我知道我可以简单地使用一张空地图:

get("/static", (rq, rs) -> new ModelAndView(new HashMap(), "static"), new ThymeleafTemplateEngine());

但是我会毫无理由地经历引擎的开销。

我知道我也可以读取 HTML 文件并将其作为 String 返回,就像 gist 所做的那样。但我觉得可能有一种更清洁的方法来做到这一点。有吗?

【问题讨论】:

    标签: java html static spark-java


    【解决方案1】:

    您可以创建一个静态文件位置并直接在那里引用 html。

    Spark.staticFileLocation("/static");
    

    在您的 resources 目录下创建一个名为 static 的文件夹。

    /src/main/resources/static
    

    将您的静态 html 放入此文件(例如 test.html)

    现在您可以通过浏览器直接访问文件;

    http://localhost:8080/test.html

    【讨论】:

    • 使用staticFileLocation()?我将如何准确引用 HTML?只是返回它的路径?
    • 是的。静态文件夹名称下文件的完整路径
    • 它似乎不起作用。我将使用我所做的测试来编辑我的问题。
    • 如此简单!但是有没有办法将路径映射到静态文件?
    • Spark 在下面使用码头。您可以尝试使用 ResourceHandler。
    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    相关资源
    最近更新 更多