javascript - JSP/JavaScript/JQuery : store html/javascript content in a variable + write it to textarea

标签 javascript jquery jsp character-encoding

我正在使用一个 json 对象来存储不同的内容位,其中一个可以包含 javascript 和 html 相关内容(如引号、分号、标签等),如果不进行编码,可能会破坏页面。为了解决这个问题,我正在使用:

“内容”:“<%=StringEscapeUtils.escapeHtml(StringEscapeUtils.escapeJavaScript(content))%>”

(我使用 JSP 作为服务器端技术,这是加载页面时内联生成的一些 JSON)

这可以很好地转义任何可能破坏页面的字符,但我现在需要将内容从此变量获取到文本区域。

$('textarea').val(obj.content);

我要避免的是此时发生的双重编码:

  • 原文内容为:<script>alert("hello world");</script>
  • 内容变量包含:&lt;script&gt;alert(&quot;hello world&quot;);&lt;/script&gt;
  • 文本区域中的文本为:&lt;script&gt;alert(&quot;hello world&quot;);&lt;/script&gt;什么时候应该读<script>alert("hello world");</script>

有什么方法可以使这个工作?

最佳答案

$('textarea').html(obj.content); 怎么样?

在我的测试中,使用 html 函数而不是 val 为您解码 HTML 实体。

关于javascript - JSP/JavaScript/JQuery : store html/javascript content in a variable + write it to textarea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1244554/

相关文章:

javascript - AJAX调用后如何找到负责滚动的JS代码

javascript - 如何在运行时从上传列表中跳过或删除某些文件

jquery - 返回部分 View 的 Controller 操作会在授权失败时插入登录页面

java.util.Vector 无法转换为 java.util.ArrayList

javascript - 如果通过单击 anchor 重定向页面,则停止重定向页面

javascript - 为什么控制台记录,注销已经分配为新分配的变量

javascript - 在这个类下用jquery改变input的值

Spring 安全。每页显示用户名

java - 无法使用 Java 代码访问 Apache 服务器中托管的图像

Javascript Action 顺序