Почему апостоф в моей строке Java появляется как `'` в моем HTML? - PullRequest
2 голосов
/ 21 декабря 2010

Почему в строке Java:

"God's wrath"

отображается в HTML как

God's wrath

Как этого избежать?

Ответы [ 4 ]

5 голосов
/ 21 декабря 2010

Этот символ экранирован для предотвращения XSS, если полученная строка используется в атрибуте HTML, заключенном в '. См. Шпаргалку по профилактике OWASP XSS .

Не думаю, что стоит отключать такие меры безопасности, поскольку они не наносят вреда нормальному поведению.

3 голосов
/ 21 декабря 2010

Так же, как и «<», «>» и другие символы, цитата заменяется этим кодом, чтобы избежать неприятных сюрпризов при отображении страницы браузером. Взгляните на этот список W3Schools для получения полного списка кодов и их соответствующих символов.

2 голосов
/ 21 декабря 2010

Если вы используете JSTL, тег c: out имеет атрибут escapeXml, вы можете установить его в false, чтобы избежать кодирования символов.

1 голос
/ 21 декабря 2010

Специальные символы отображаются как амперсанд и экранированные числа, потому что они что-то значат в HTML. В этом случае 'используется для запуска строкового литерала. если вы хотите, чтобы он действительно показывал ', то вы должны заменить его на экранирование. Вот почему.

Я не знаю, почему вы хотите этого избежать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...