关于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>
它应该有用,但我相信有更好的方法可以做到这一点
答案 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