如何使用Spark返回现有页面

我有工作的示例,我只返回一些文本

import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        get("/hello", (req, res) -> "Hello World");
    }
}


我已更改为

import spark.Service;
import static spark.Spark.*;

public class HelloWorld {
    public static void main(String[] args) {
        staticFiles.externalLocation("C:\\HtmlFolder\\"); // Static files
        init();
        get("/hello", (req, res) -> "Report00001.html");
    }
}


我希望它显示HtmlFolder \ Report00001.hml的内容,但只显示Report0001.html

我看不到任何显示如何执行此操作的示例

因此,如果我将index.html放在C:\ HtmlFolder \中,则当在http://localhost:4567/处打开浏览器时会显示该索引,但是我看不到如何获取请求的映射以显示其他文件

最佳答案

我想C:\\HtmlFolder\\不在您的类路径中。

要提供外部资源(不在类路径中),您需要使用staticFiles.externalLocation() + System.getProperty()

例:

staticFiles.externalLocation(System.getProperty("myDir"));


如果您需要了解更多信息,请检查Spark Static Files Documenation

编辑:

如上所述配置外部位置,然后执行以下操作

get("/hello", (req, res) -> {res.redirect("/Report00001.html");});

(我现在不确定是"/Report00001.html"还是"Report00001.html"

09-26 21:20