1

我在我的应用程序中使用 java servlet 和 jsp,我需要读取远程 XML 文件并将其正确呈现为 HTML 并显示在网页上……读取过程使用什么技术?我应该使用 HTTPURLConnection 类吗?读取xml文件的内容还是有其他方法?另外,如果我使用 servlet 作为控制器,使用 JSP 作为视图,那么 servlet 和 jsp 在这个过程中的职责是什么?servlet 是否应该只读取整个 XML 文件,然后将读取的输出传递给 JSP,JSP 将只打印例如,它并使用 XSL 正确呈现?

我真的希望听到任何可以提供帮助的人的消息,

亲切的问候

4

1 回答 1

3

JSP 在这里不承担任何责任。只需使用 XSL 转换 servlet 中的 XML 并将其结果直接写入OutputStream响应。

StreamSource xml = new StreamSource(new URL("http://external.com/file.xml").openStream());
StreamSource xsl = new StreamSource(new File("/path/to/file.xsl"));
StreamResult out = new StreamResult(response.getOutputStream());

try {
    Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
    transformer.transform(xml, out);
} catch (TransformerException e) {
    throw new ServletException("Transforming XML failed.", e);
}

不要忘记设置Content-Typeusing HttpServletResponse#setContentType(),否则网络浏览器可能会将其作为明文处理。

于 2010-05-15T13:03:13.343 回答