【问题标题】:Is it possible to serve a templated text file using spark? (java web framework)是否可以使用 spark 提供模板化文本文件? (java网络框架)
【发布时间】:2017-03-14 06:31:46
【问题描述】:

我正在使用spark 作为我正在处理的项目的后端。我注意到 spark 能够使用诸如velocity、freemaker 等模板引擎来提供模板化的html。

但是,这并不是我想要的。我不想提供一个 html 模板,而是提供一个纯文本文件,同时仍然允许我在需要的地方插入参数。对于上下文,我试图允许用户根据他们提供的参数下载代码示例。

这样的东西是否存在,或者我是否需要构建所需文件的内容并将其作为字符串返回?

我正在尝试做的示例

// example.java

public class Example {
    public static void main(String [] args) {
        System.out.println( {{ param }} );
    }
}

所以这个 ^ 将是我试图提供的纯文本模板...“param”将通过 http 请求传递到后端,并插入到文件中。然后我会将文件提供给前端。

【问题讨论】:

  • 您试图实现的与将此内容提供为仅包含此纯文本内容的 HTML 页面(然后您可以使用模板管理器)之间的区别是什么,除了扩展名为 .html如果用户保存文件而不是.java
  • 试一试。
  • 这行得通。如果你想提供这个作为答案,我会给你接受。谢谢!

标签: file templates parameters plaintext spark-java


【解决方案1】:

因此,(如评论中所述:),很高兴它有所帮助)您可以将此内容作为仅包含此纯文本内容的 HTML 页面(然后您可以使用模板管理器)提供。唯一的例外是扩展名,如果用户保存文件,扩展名将是 .html 而不是 .java

【讨论】:

    【解决方案2】:

    你可以声明一个返回类型为'text/plain'的路由

    get(Main.API_PUBLIC + "/sourcecode", (req, res) -> {
        res.status(200);
        res.type("text/plain");
        return " /* This will be the code snippet you'll be returning */ ";
    });
    

    另一种选择是将源代码文件放入静态文件目录并在 html 中链接到它们。

    【讨论】:

    • 这是我最初的想法。但是,源代码文件可能会有点长,并且正确格式化它们(例如:\t \n)似乎需要大量工作。这是我的 B 计划。尝试使用没有任何 html 标记的模板引擎。
    猜你喜欢
    • 1970-01-01
    • 2020-08-17
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2014-12-13
    • 2023-03-29
    • 2012-11-08
    • 2016-10-14
    相关资源
    最近更新 更多