使用jstl生成xml的最佳方法

时间:2011-10-03 16:53:55

标签: java xml jstl

关于jstl的非常简单的问题。考虑由Controller / Servlet返回的Map。我想为客户端生成xml输出。我应该使用标准的jstl标签还是有更优雅的方式来做它?

现在我用这个文本创建了jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<?xml version="1.0" encoding="utf-8"?>
<response>
   <c:forEach var="entry" items="${msg}">
    <${entry.key}> 
      <![CDATA[${entry.value}]]>
     </${entry.key}>
   </c:forEach>
</response> 

它应该有用,但我相信有更好的方法可以做到这一点

3 个答案:

答案 0 :(得分:8)

当我的响应是XML时,我通常会跳过JSTL并使用JAXB(即直接写入来自servlet / controller的输出流)。

答案 1 :(得分:2)

这就是我生成所有XHTML网页的方式,而XHTML就是XML。您可能希望使用<c:out>${fn:escapeXml()}来转义特殊的XML字符。

答案 2 :(得分:1)

<%@ taglib uri="http://java.sun.com/jstl/xml" prefix="x" %>

以下是另一个stack overflow question

的示例

或此question