2012-12-19 39 views
0

我有一個jsp頁面。在裏面我導入一個jspf文件。在JSPF文件,我已經使用製表庫類似於此如何在使用tab-lib時逃避jsp文件發送的Ajax響應

<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> 

這個jsp頁面使用AJAX調用另一個JSP頁面,並使用充在一個div

$('#divid').html(response.responseText); 

當我得到的屏幕上的輸出,它顯示打印一些HTML標籤和img標籤圖像不打印。

+2

如何在'response.responseText'生成的HTML代碼是什麼樣子? – micha

回答

0

如果你看到HTML標記,然後有人/東西在你的代碼轉換的HTML文本(即它避開了所有特殊字符,如<&lt;等)看着HTML源代碼時,你將會看到你的瀏覽器。

這看起來很奇怪對我說:

<a href="javascript:moveToPage('<c:out value="${requestScope.PREVIOUS_LINK}"/>')"> 

<是不允許的元素裏面,所以這應該要麼放棄一個錯誤,或者你上面貼的代碼是不是一個1:1複製從jspf文件。

這將是有效的:

<a href="javascript:moveToPage('&lt;c:out... 

,但不會執行c:out了。

使用fn:escapeXml()代替:

<a href="javascript:moveToPage('${fn:escapeXml(requestScope.PREVIOUS_LINK)}'">