我有一个jsp页面。在其中我导入一个jspf文件。在jspf文件中,我使用了类似于
的tab-lib<a href="javascript:moveToPage('<c:out value="${requestScope.PREVIOUS_LINK}"/>')">
<img align="absmiddle" src="images/<c:out value='${selectedTheme}'/>/previous.gif" width="23" height="14" alt="Previous" title="<fmt:message key="jsp.imagetitle.Previous"/>" border="0"></a>
jsp文件看起来像
<div id="someId">
<%@ include file='jspf/myNewPage.jspf'%>
</div>
使用ajax将此jsp页面调用到另一个jsp页面,并使用
填充div$('#divid').html(response.responseText);
当我在屏幕上显示输出时,它会显示一些打印的html标签,并且不会打印img标签中的图像。
答案 0 :(得分:0)
如果您看到HTML标记,那么代码中的某些人/某些内容会将HTML转换为文本(即它会将所有特殊字符转移到<
到<
等)。您应该在查看时看到这一点在浏览器中的HTML源代码中。
这对我来说很奇怪:
<a href="javascript:moveToPage('<c:out value="${requestScope.PREVIOUS_LINK}"/>')">
<
不允许在元素中,因此这应该是一个错误,或者您粘贴的代码不是来自jspf文件的1:1副本。
这是有效的:
<a href="javascript:moveToPage('<c:out...
但不再执行c:out
。
改为使用fn:escapeXml():
<a href="javascript:moveToPage('${fn:escapeXml(requestScope.PREVIOUS_LINK)}'">