我有以下链接
<a href="#editModal" class="modal-with-form fa fa-edit" onclick="createEditPanel('/notes', '${note.getRequiredInfoFieldValue('note-title')}', '${note.getRequiredInfoFieldValue('note-title')}', ${note.getRequiredInfoFieldValue('note-text')});"></a>
${note.getRequiredInfoFieldValue('note-text')}
有时在文本中会出现单引号或双引号,从而导致错误。
我需要能够逃避文本。
我有以下
<script>
var text = '${note.getRequiredInfoFieldValue('note-text')}';
text = text.replace(/\"/g,'\\"');
</script>
用于转义字符,但只是将文本变量放入方法中不起作用。它是空的。
答案 0 :(得分:1)
使用
$ {fn:replace(note.getRequiredInfoFieldValue(&#39; note-text&#39;),/ \&#34; / g,&#39; \&#34;&#39;)} < / p>
直接在onclick里面。
这样它就会用转义序列字符替换单引号或双引号。
显然你需要使用:
导入jstl lib<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
<c:out value="${note.getRequiredInfoFieldValue('note-text')}"/>
直接在onclick内部。
Use ${fn:escapeXml(note.getRequiredInfoFieldValue('note-text'))}
最推荐第三种方法,因为您不需要手动操作来逃避特定符号。