Мне нужно изменить "
на \"
с JSTL заменить функцию , чтобы использовать строку во входном теге, например:
<input type="hidden" name="text" size="40" value="${text}">
Если ${text}
имеет "
, HTML будет нарушен.
Итак, я попытался
<input type="hidden" name="text" size="40" value="${fn:replace(text, "\"", "\\\""}">
и
<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '\"'}">
но не сработало. Страница делает ошибки вроде
org.apache.el.parser.ParseException: обнаружено ""} ""} "" в строке
1, столбец 32. Ожидал одного из:
"" ...
")" ...
"[" ...
"," ...
">" ...
"GT" ...
"<" ...
"лт" ...
"> =" ...
"гэ" ...
"<=" ...
"ле" ...
"==" ...
"экв" ...
знак равно
"нэ" ...
"&&" ...
"а также" ...
"||" ...
"или же" ...
"*" ...
"+" ...
"-" ...
"/" ...
"Div" ...
"%" ...
"мод" ... </p>
Как я могу это сделать?
Обновление
Я пропустил близкую партию функции замены. Правильный был этот с близким парнем:
<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '\"')}">
Update2
Я обнаружил, что при публикации текстов использование \
не очень хорошая идея по этой причине почему нельзя использовать \ "в теге ввода HTML? . Код должен выглядеть следующим образом:
<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '"')}">