在 JSP 中漂亮地打印 XML 数据
如何在 JSP 中漂亮地打印(即使用缩进)XML 数据?我有以下代码:
<c:forEach items="${stuffs}" var="stuff">
<pre>
<c:out value="${stuff}" escapeXml="true"/><br/>
</pre>
</c:forEach>
但问题是,当 ${stuff}
是未格式化的 XML 时,它将在 jsp 中显示为一个长 XML 数据。我需要将其漂亮地打印在
标记内。
How do I pretty print (ie. with indentation) XML data in the JSP? I have the following code:
<c:forEach items="${stuffs}" var="stuff">
<pre>
<c:out value="${stuff}" escapeXml="true"/><br/>
</pre>
</c:forEach>
But the problem is when ${stuff}
is an unformatted XML, it will show in the jsp as one long XML data. I need it pretty-printed inside the <p>
tag.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果你想要一个简单的解决方案,在设置 JSP 的响应来查看时不要费心使用 xsl,只需执行
stuff.replaceAll("<", "& lt;").replaceAll(">" ,"& gt; ");
你不需要任何其他东西;这里不需要 XSL 转换。在必要时使用技术,除非我在这里遗漏了一些东西。If you want a simple solution, don't bother with xsl while setting response for JSP to look at, just do
stuff.replaceAll("<", "& lt;").replaceAll(">","& gt; ");
You don't need anything else; no XSL transformation needed here. Use technologies when they are essential, unless I am missing something here.您可以在 http://prettydiff.com/?m=beautify 处使用 Pretty Diff 漂亮地打印 JSLT将会完全满足您的需求。考虑以下示例:
只要嵌套标签在引号中,Pretty Diff 就能够识别多维标签。
You can pretty print JSLT with Pretty Diff at http://prettydiff.com/?m=beautify It will do exactly what you need. Consider the following example:
Pretty Diff is capable of recognizing multidimensional tags so long as the nested tag is in quotes.
XSLT 有一种简单的方法可以通过
xsl:output
元素来完成此操作。如果您可以应用 XSLT,我建议使用这样的样式表(基于身份转换):XSLT has a simple means of doing this via the
xsl:output
element. If you can apply an XSLT, I suggest using a stylesheet like this (based on the identity transformation):