我有自定义标记,其中我获取XML文件的内容并将它们存储在字符串中并尝试在jsp上呈现。下面是一些代码快照。
DataInputStream dis = new DataInputStream(bis);
String final_str="";
while (dis.available() != 0) {
String currentLine=dis.readLine();
System.out.println(currentLine);
final_str += currentLine + "\n";
}
logger.info(final_str);
pageContext.setAttribute("sitemap",final_str);
我在jsp上使用的内容。
<c:out value = "${sitemap}" />
如何在jsp中呈现XML?我的日志文件显示XML但在浏览器上无法正确呈现。如图所示。
答案 0 :(得分:0)
bis.toString()
肯定会返回一个对象。 你可以这样做,
pageContext.setAttribute("sitemap",final_str);
上面的代码将打印输入流中的所有行,您可以将其存储到字符串&amp;用
返回public static String formatXSD(String xmlString) {
try {
Source xmlInput = new StreamSource(new StringReader(xmlString));
StringWriter stringWriter = new StringWriter();
StreamResult xmlOutput = new StreamResult(stringWriter);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
transformerFactory.setAttribute("indent-number", 2);
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(xmlInput, xmlOutput);
return xmlOutput.getWriter().toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
<强>更新强> 此函数采用普通的xml String并格式化字符串(缩进)
{{1}}