如何在xpages中用Java读取CSS文件

问题描述 投票:0回答:1

我想读取存储在我的NSF中的css文件的内容,以将其包含在我创建的(HTML)文件中的style元素中。

FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream

似乎不是这样。

有人提出建议吗?

我尝试过

InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("file.css");

然后

StringBuilder sb = new StringBuilder();
sb.append("<style>").append("\n");
sb.append(convertStreamToString(input)).append("\n");
sb.append("</style>").append("\n");

static String convertStreamToString(java.io.InputStream is) {
        java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
        return s.hasNext() ? s.next() : "";
    }

效果很好

java css xpages lotus-domino
1个回答
0
投票

您可以使用Apache Commons IOUtils从InputStream复制到StringWriter,然后在StringWriter上使用toString()。这是执行此操作的简单方法:

private static String getResourceFile(final String filename) {
    final InputStream input = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(filename);

    final StringWriter writer = new StringWriter();
    try {
        IOUtils.copy(input, writer, "utf-8");
    } catch (final IOException e) {
        System.out.println("Error reading: " + filename);
    }
    return writer.toString();
}
© www.soinside.com 2019 - 2024. All rights reserved.