在jsp中从DB中检索包含字符串内部引号的字符串时,无法转义引号(")字符

时间:2014-12-01 15:23:42

标签: java javascript string jsp html-escape-characters

我使用转义字符i数据库在字符串中保存了引号(“)。这样工作正常。但是当我从数据库中检索jsp字段中的值时,字符串将在它获取的第一个引号中结束整个字符串。我在下面给出一个例子:

让我把一个我存储在数据库中的字符串作为 -

" Hello David. This is a "customer"."

现在,我需要将数据库中的字符串保存回jsp页面中的隐藏字段,如下所示 -

<input type="hidden" name="string_from_database" id="string_from_database" value="<%=some varibale that holds the data from database%>">

问题是 - 部分字符串被暴露(意味着它被写在页面顶部),我不想要。在这种情况下,下面的短语写在jsp页面的开头,我不想要。

customer".

请建议如何解决此问题。

2 个答案:

答案 0 :(得分:0)

使用此功能,您可以使用html实体变体&quot;替换引号。这是一个简单的功能。希望它适合你的模板系统,但如果没有,应该很容易修改。

function escapeQuotes(str){
    return str.replace(/"/g,'&quot;');
}

Here's a working fiddle

答案 1 :(得分:0)

使用Jstl而不是scriptlet for further Explanation

使用EL - 表达式语言($ {variable})来获取值,例如。 ${welcome}

<c:out value="${some varibale that holds the data from database}"/>