Я получаю значение из нашей БД, используя JSTL. Я вставляю его прямо в какой-то javascript, чтобы использовать его как переменную. Мне нужно, чтобы вывод значения, которое JSTL удерживает, был экранирован, потому что, если есть одинарные или двойные кавычки, это нарушает мой сценарий. Значение задается пользователем.
Пример:
Делаем следующее:
<c:set var="myVar" value="Dale's Truck"/>
<script type="text/javascript">
var mayVar = '${myVar}';
</script>
На самом деле это будет выглядеть так:
<script type="text/javascript">
var mayVar = 'Dale's Truck';//extra single quote breaks the JS
</script>
Поэтому мне нужно преобразовать JSTL var, чтобы он был экранирован, как «Dale% 27s Truck», прежде чем он попадет в JS, потому что уже слишком поздно, когда он доберется до моего JS, чтобы сделать это в JS.