【发布时间】:2018-12-12 12:41:48
【问题描述】:
我正在尝试使用 Strut 标记 生成 JavaScript 代码。但是,插入的内容包含换行符,应将其转义为\n。
index.jsp:
<script type="text/javascript">
document.getElementById("content<s:property value="id"/>").innerHTML = converter.makeHtml("<s:property escape='true' value='content' />");
</script>
预期的结果应该是:
<script type="text/javascript">
document.getElementById("content6302").innerHTML = converter.makeHtml("> asdfasdf \n asddfadf");
</script>
实际结果是:
<script type="text/javascript">
document.getElementById("content6302").innerHTML = converter.makeHtml("> asdfasdf
asddfadf");
</script>
即asddfadf"); 打印在新行上,但应该是 \n asddfadf"); 在同一行内。
如何在生成的 HTML 中获得转义形式 \n?
【问题讨论】:
-
这有帮助吗? stackoverflow.com/questions/58054/… 您可能需要将
"\\n"替换为"\n"。我不是一个 jsp 编码器。 -
我只是不想打印新行而不是打印“\n”,也不想替换。
-
代码下方的“标题”令人困惑...好的,然后将
'\n'替换为'\\n',即转义反斜杠。 -
由于这个问题不属于 JavaScript,我已经删除了误导性的 SO 标签。尝试仔细选择问题下方的标签,以抓住合适的人回答您的问题。
-
如果没有进一步的知识,我猜:
<s:property escape='true' value='%{content.replace("\n","\\n")}' />(参见stackoverflow.com/questions/6866514/…)