在onclick方法中转义单引号JSP生成的文本

时间:2017-06-02 16:50:54

标签: javascript jquery html jsp onclick

我有以下链接
<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>

用于转义字符,但只是将文本变量放入方法中不起作用。它是空的。

1 个答案:

答案 0 :(得分:1)

  1. 使用

    $ {fn:replace(note.getRequiredInfoFieldValue(&#39; note-text&#39;),/ \&#34; / g,&#39; \&#34;&#39;)} < / p>

    直接在onclick里面。

  2. 这样它就会用转义序列字符替换单引号或双引号。

    显然你需要使用:

    导入jstl lib
    <%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
    
    1. 使用
    2. <c:out value="${note.getRequiredInfoFieldValue('note-text')}"/>直接在onclick内部。

      1. Use ${fn:escapeXml(note.getRequiredInfoFieldValue('note-text'))}
      2. 最推荐第三种方法,因为您不需要手动操作来逃避特定符号。