使用jsp:include和json-taglib输出HTML

时间:2009-09-25 10:16:44

标签: html json jsp

我正在使用jsp:include json-taglib的json:property元素。这样做的问题是,包含的JSP页面中的所有HTML元素在某些时候都被剥离,只剩下纯文本。我已经删除了所有换行符,因此结果应该是有效的JSON数据。

如何获取json-taglib返回的完整HTML?

下面是一个展示情况的片段。

<%@ page language="java" %>
<%@ page pageEncoding="UTF-8" %>
<%@ page contentType="text/html; charset=UTF-8" %>

<%@ taglib uri="http://www.atg.com/taglibs/json" prefix="json" %>

<json:object>
  <json:property name="id" value="${element.id}" />
  <json:property name="html" escapeXml="false">
    <jsp:include page="/templates/generate-component.jsp">
      <jsp:param name="element_id" value="${element.id}" />
    </jsp:include>
  </json:property>
</json:object>

2 个答案:

答案 0 :(得分:0)

也许你应该对传递给json-taglib的数据进行编码。

问候。

答案 1 :(得分:0)

一种解决方案是将jsp:include包含在<c:out>标记中,并且(mis)使用body-as-default-value,如下所示:

<c:out value="${null}">
  <jsp:include ...>
    <jsp:param ... />
  </jsp:include>
</c:out>

但是,这在包含的JSP本身使用jsp:include。

的情况下不起作用