Мне нужно изменить "
на \"
с помощью 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 "... " & Л; "... " lt "... " >= "... " ge "... " <= "... " ле "... " == "... " eq "... знак равно " ne "... " & & "... " а также "... " || "... " или "... " * "... " + "... " - "... " / "... " div "... " % "... " mod"...
Как я могу это сделать?
Обновление
Я пропустил близкий ответ на функцию замены. Правильный был тот, у кого был близкий паз:
<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '\"')}">
Update2
Я узнал, что при публикации текстов использование \
не является хорошей идеей по этой причине почему нельзя использовать \" в теге ввода HTML?. Код должен выглядеть следующим образом:
<input type="hidden" name="text" size="40" value="${fn:replace(text, '"', '"')}">