为什么'<'显示为&lt;

4 java

我正在输出一个像我这样的java类的字符串

String numQsAdded = "<div id='message1'>"+getQuestion()+"</div>";
Run Code Online (Sandbox Code Playgroud)

该字符串将作为XMLHttpRequest发送回客户端.所以,在我的jsp页面中,我有一个javascript警报方法,它打印出从服务器返回的字符串.它将'<' &lt;和'>'翻译为&gt;

我怎么能避免这个?

我试过将我的字符串更改为:

String numQsAdded = "&lt;div id='message1'&gt;"+getQuestion()+"&gt;/div&lt;";
Run Code Online (Sandbox Code Playgroud)

但这会产生更糟糕的影响.然后'&'被翻译为'amp'

Rya*_*roi 5

XMLHttpRequest在发送之前对字符串进行编码.你将不得不unescape字符串.在客户端javascript,尝试使用:

alert(unescape(returned_string))
Run Code Online (Sandbox Code Playgroud)


KM.*_*KM. 4

&lt;是在html中显示“<”的方式,它是由XMLHttpRequest产生的。尝试使用 XMLRequest