如何使用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"
)