0

jspページがあります。その中にjspfファイルをインポートします。jspfファイルでは、これに似たtab-libsを使用しました

<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タグの画像が印刷されません。

4

1 に答える 1

0

HTML タグが表示された場合、コード内の誰か/何かが HTML をテキストに変換します (つまり、<to&lt;などのすべての特殊文字をエスケープします)。ブラウザーで HTML ソース コードを表示すると、これが表示されるはずです。

これは私には奇妙に見えます:

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

<は要素内で許可されていないため、エラーが発生するか、上記で貼り付けたコードが jspf ファイルからの 1:1 のコピーではありません。

これは有効です:

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

しかし、もう実行しc:outません。

代わりにfn:escapeXml()を使用します。

<a href="javascript:moveToPage('${fn:escapeXml(requestScope.PREVIOUS_LINK)}'">
于 2012-12-19T08:51:38.643 に答える