我正在使用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>
答案 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。
的情况下不起作用