使用Java Spark,如何将html文件作为代表发送

使用Java Spark,如何将html文件作为代表发送,java,spark-java,Java,Spark Java,如何使用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.*;

如何使用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\中,那么现在在打开浏览器时会显示,但我看不到get请求如何映射以显示其他文件

get("/hello", (req, res) -> "Report00001.html");
返回单个字符串。如果该字符串应该是一个文件,您可能必须打开该文件,收集其内容,并将该内容作为字符串返回。

似乎

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

返回单个字符串。如果该字符串应该是一个文件-您可能必须打开该文件,收集其内容,并将该内容作为字符串返回。

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

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

示例:

staticFiles.externalLocation(System.getProperty("myDir"));
检查您是否需要了解更多关于此的信息

编辑:

staticFiles.externalLocation(System.getProperty("myDir"));
如上所述配置外部位置,并在get中执行以下操作

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


(我现在不确定应该是
“/Report00001.html”
还是
“Report00001.html”

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

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

示例:

staticFiles.externalLocation(System.getProperty("myDir"));
检查您是否需要了解更多关于此的信息

编辑:

staticFiles.externalLocation(System.getProperty("myDir"));
如上所述配置外部位置,并在get中执行以下操作

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


(我现在不确定应该是
“/Report00001.html”
还是
“Report00001.html”

静态内容只能使用您在原始问题中提到的实际文件的URL提供。如果要将此静态文件映射到特定端点,则需要以编程方式读取文件内容并返回字符串


另一种方法是实现您自己的模板引擎,该引擎只返回HTML文件的内容,尽管这可能有点过分,但它应该足够简单。

静态内容只能使用您在原始问题中提到的实际文件的URL提供。如果要将此静态文件映射到特定端点,则需要以编程方式读取文件内容并返回字符串


另一种方法是实现您自己的模板引擎,该引擎只返回HTML文件的内容,尽管这可能有点过分,但它应该足够简单。

是的,但spark java肯定有办法为您做到这一点?因为如果我只是按照您的建议做,那么externalFiles()将毫无用处是的,但是spark java肯定有办法帮你做到这一点吗?因为如果我只是按照你的建议去做,那么externalFiles()就没有用了。我的示例就是这样做的,我已经有了文档,但它没有告诉我如何将文件作为response@paul-taylor所有静态文件都通过get方法返回。要查看您的html,只需在url中键入方向,或重定向到它。您能给我一个示例,说明如何编写get调用,使其返回我尝试获取的文件(“/hello”,(req,res)->新文件(“FixSongsReport00001”);但还是没用谢谢,但试了一下,抱怨了一声是必需的吗?我的示例就是这样做的,我已经有了文档,但它没有告诉我如何将文件作为response@paul-taylor所有静态文件都通过get方法返回。要查看您的html,只需在url中键入方向,或重定向到它。您能给我一个示例,说明如何编写get调用,使其返回我尝试获取的文件(“/hello”,(req,res)->新文件(“FixSongsReport00001”);但还是没用谢谢,但试了一下,抱怨了一声需要什么?